From c4d5f65a1077b7bf909a093ec0c552009174b809 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 11 Nov 2015 09:03:39 +0000
Subject: [PATCH] Completed update ...ErrorIn -> ...ErrorInFunction Avoids the
 clutter and maintenance effort associated with providing the function
 signature string.

---
 applications/test/error/Test-error.C          |   2 +-
 doc/codingStyleGuide.org                      |   4 +-
 etc/codeTemplates/source/_Template.C          |   2 +-
 .../template/_TemplateTemplate.C              |   9 +-
 src/ODE/ODESolvers/ODESolver/ODESolver.C      |   8 +-
 src/ODE/ODESolvers/ODESolver/ODESolverNew.C   |   9 +-
 src/ODE/ODESolvers/SIBS/SIBS.C                |   2 +-
 .../adaptiveSolver/adaptiveSolver.C           |   4 +-
 src/ODE/ODESolvers/seulex/seulex.C            |   2 +-
 src/OSspecific/POSIX/POSIX.C                  |  60 ++---
 src/OSspecific/POSIX/fileMonitor.C            |  25 +-
 src/OSspecific/POSIX/regExp.C                 |   6 +-
 src/OSspecific/POSIX/signals/sigFpe.C         |  24 +-
 src/OSspecific/POSIX/signals/sigInt.C         |  26 +-
 src/OSspecific/POSIX/signals/sigQuit.C        |  26 +-
 src/OSspecific/POSIX/signals/sigSegv.C        |  26 +-
 .../POSIX/signals/sigStopAtWriteNow.C         |  28 +-
 src/OSspecific/POSIX/signals/sigWriteNow.C    |  14 +-
 src/OSspecific/POSIX/timer.C                  |  21 +-
 .../GAMGAgglomeration/GAMGAgglomeration.C     |   2 +-
 src/Pstream/dummy/UPstream.C                  |   2 +-
 src/Pstream/mpi/PstreamGlobals.C              |   8 +-
 src/Pstream/mpi/UIPread.C                     |  30 +--
 src/Pstream/mpi/UOPwrite.C                    |   8 +-
 src/Pstream/mpi/UPstream.C                    |  60 ++---
 src/Pstream/mpi/allReduceTemplates.C          |  58 +---
 ...oupledTemperatureMixedFvPatchScalarField.C |  10 +-
 ...allHeatFluxTemperatureFvPatchScalarField.C |  28 +-
 .../temperatureCoupledBase.C                  |  15 +-
 .../thermalBaffle1DFvPatchScalarField.C       |   5 +-
 ...entHeatFluxTemperatureFvPatchScalarField.C |   6 +-
 ...tureCoupledBaffleMixedFvPatchScalarField.C |  11 +-
 ...eratureRadCoupledMixedFvPatchScalarField.C |  11 +-
 ...ayatillekeWallFunctionFvPatchScalarField.C |   5 +-
 ...ayatillekeWallFunctionFvPatchScalarField.C |   6 +-
 .../turbulenceModels/LES/LESModel/LESModel.C  |  13 +-
 .../LES/LESdeltas/IDDESDelta/IDDESDelta.C     |   4 +-
 .../LES/LESdeltas/LESdelta/LESdelta.C         |  14 +-
 .../cubeRootVolDelta/cubeRootVolDelta.C       |   4 +-
 .../LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C   |   4 +-
 .../LES/LESfilters/LESfilter/LESfilter.C      |   6 +-
 .../turbulenceModels/RAS/RASModel/RASModel.C  |  13 +-
 .../RAS/SpalartAllmaras/SpalartAllmaras.C     |   2 +-
 .../atmBoundaryLayer/atmBoundaryLayer.C       |   6 +-
 .../ReynoldsStress/ReynoldsStress.C           |   6 +-
 .../TurbulenceModel/TurbulenceModel.C         |  11 +-
 .../epsilonWallFunctionFvPatchScalarField.C   |   2 +-
 .../fWallFunctionFvPatchScalarField.C         |   2 +-
 .../kLowReWallFunctionFvPatchScalarField.C    |   2 +-
 .../kqRWallFunctionFvPatchField.C             |   2 +-
 .../nutWallFunctionFvPatchScalarField.C       |   2 +-
 .../omegaWallFunctionFvPatchScalarField.C     |   2 +-
 .../v2WallFunctionFvPatchScalarField.C        |   2 +-
 .../reactionRateFlameAreaNew.C                |   5 +-
 .../combustionModel/combustionModelI.H        |  14 +-
 .../psiCombustionModelNew.C                   |   6 +-
 .../rhoCombustionModelNew.C                   |   6 +-
 .../singleStepCombustion.C                    |  11 +-
 src/conversion/ensight/part/ensightPart.C     |   5 +-
 src/conversion/meshReader/calcPointCells.C    |   4 +-
 src/conversion/meshReader/createPolyCells.C   |   4 +-
 .../meshReader/starcd/STARCDMeshReader.C      |  11 +-
 .../meshWriter/starcd/STARCDMeshWriter.C      |   4 +-
 src/conversion/polyDualMesh/polyDualMesh.C    |  28 +-
 src/dummyThirdParty/MGridGen/dummyMGridGen.C  |   4 +-
 .../metisDecomp/dummyMetisDecomp.C            |  46 +---
 .../ptscotchDecomp/dummyPtscotchDecomp.C      |  62 +----
 .../scotchDecomp/dummyScotchDecomp.C          |  47 +---
 .../dynamicFvMesh/dynamicFvMeshNew.C          |  14 +-
 .../dynamicRefineFvMesh/dynamicRefineFvMesh.C |  18 +-
 .../multiSolidBodyMotionFvMesh.C              |  12 +-
 .../solidBodyMotionFunctionNew.C              |  12 +-
 .../tabulated6DoFMotion/tabulated6DoFMotion.C |  19 +-
 .../solidBodyMotionFvMesh.C                   |  21 +-
 src/dynamicMesh/attachDetach/attachDetach.C   |  43 +--
 .../attachDetach/attachDetachPointMatchMap.C  |   8 +-
 .../attachDetach/detachInterface.C            |   9 +-
 src/dynamicMesh/boundaryMesh/boundaryMesh.C   |  16 +-
 src/dynamicMesh/boundaryMesh/boundaryMesh.H   |   2 +-
 .../createShellMesh/createShellMesh.C         |  14 +-
 .../fvMeshAdder/fvMeshAdderTemplates.C        |   6 +-
 .../fvMeshDistribute/fvMeshDistribute.C       |  22 +-
 .../fvMeshDistributeTemplates.C               |   4 +-
 src/dynamicMesh/fvMeshTools/fvMeshTools.C     |   6 +-
 .../layerAdditionRemoval/addCellLayer.C       |   9 +-
 .../layerAdditionRemoval.C                    |  32 +--
 .../layerAdditionRemoval/setLayerPairing.C    |  20 +-
 src/dynamicMesh/meshCut/cellCuts/cellCuts.C   |  78 +++---
 .../meshCut/cellLooper/cellLooper.C           |  14 +-
 .../meshCut/cellLooper/hexCellLooper.C        |   8 +-
 .../meshCut/cellLooper/topoCellLooper.C       |  12 +-
 .../directions/directionInfo/directionInfo.C  |  10 +-
 .../meshCut/directions/directions.C           |  31 +--
 .../meshCut/edgeVertex/edgeVertex.C           |   9 +-
 .../meshCut/edgeVertex/edgeVertex.H           |  30 +--
 .../boundaryCutter/boundaryCutter.C           |  14 +-
 .../meshCutAndRemove/meshCutAndRemove.C       |  61 ++---
 .../meshModifiers/meshCutter/meshCutter.C     |  30 +--
 .../multiDirRefinement/multiDirRefinement.C   |  37 +--
 .../refinementIterator/refinementIterator.C   |   6 +-
 .../undoableMeshCutter/undoableMeshCutter.C   |  59 ++--
 .../meshCut/refineCell/refineCell.C           |   6 +-
 src/dynamicMesh/meshCut/splitCell/splitCell.C |  12 +-
 .../wallNormalInfo/wallNormalInfoI.H          |   8 +-
 .../motionSmoother/motionSmootherAlgo.C       |  40 +--
 .../motionSmootherAlgoTemplates.C             |  17 +-
 .../polyMeshGeometry/polyMeshGeometry.C       | 135 +++-------
 .../componentDisplacementMotionSolver.C       |  28 +-
 .../componentVelocityMotionSolver.C           |  10 +-
 .../displacement/displacementMotionSolver.C   |  21 +-
 .../motionSolver/motionSolver/motionSolver.C  |  14 +-
 .../perfectInterface/perfectInterface.C       |  20 +-
 .../polyMeshAdder/faceCoupleInfo.C            |  99 ++-----
 src/dynamicMesh/polyMeshAdder/polyMeshAdder.C |  12 +-
 .../polyMeshModifier/polyMeshModifierNew.C    |   6 +-
 .../polyTopoChange/addObject/polyAddFace.H    | 103 +------
 .../polyTopoChange/addObject/polyAddPoint.H   |  13 +-
 .../polyTopoChange/addPatchCellLayer.C        |  92 ++-----
 .../polyTopoChange/combineFaces.C             |  96 ++-----
 .../polyTopoChange/edgeCollapser.C            |  66 ++---
 .../polyTopoChange/faceCollapser.C            |   6 +-
 .../polyTopoChange/polyTopoChange/hexRef8.C   | 255 ++++++------------
 .../modifyObject/polyModifyFace.H             |  83 +-----
 .../pointEdgeCollapse/pointEdgeCollapseI.H    |   4 +-
 .../polyTopoChange/polyTopoChange.C           | 150 ++++-------
 .../polyTopoChange/refinementDataI.H          |   4 +-
 .../polyTopoChange/refinementDistanceDataI.H  |   4 +-
 .../polyTopoChange/refinementHistory.C        |  49 ++--
 .../polyTopoChange/refinementHistory.H        |   4 +-
 .../polyTopoChange/removeCells.C              |  55 ++--
 .../polyTopoChange/removeFaces.C              |  54 ++--
 .../polyTopoChange/removePoints.C             |  71 ++---
 .../polyTopoChange/tetDecomposer.C            |   2 +-
 .../polyTopoChanger/polyTopoChanger.C         |  16 +-
 .../repatchPolyTopoChanger.C                  |  47 +---
 .../slidingInterface/coupleSlidingInterface.C |  67 ++---
 .../decoupleSlidingInterface.C                |  16 +-
 .../enrichedPatch/enrichedPatch.C             |  10 +-
 .../enrichedPatch/enrichedPatchCutFaces.C     |  17 +-
 .../enrichedPatch/enrichedPatchFaces.C        |  69 +----
 .../enrichedPatch/enrichedPatchMasterPoints.C |   4 +-
 .../enrichedPatch/enrichedPatchPointMap.C     |   4 +-
 .../enrichedPatch/enrichedPatchPointPoints.C  |   2 +-
 .../slidingInterface/slidingInterface.C       |  37 +--
 .../slidingInterfaceAttachedAddressing.C      |  85 ++----
 .../slidingInterfaceProjectPoints.C           |  22 +-
 src/edgeMesh/edgeMesh.C                       |   4 +-
 .../edgeMeshFormats/edgeMesh/edgeMeshFormat.C |  24 +-
 .../extendedFeatureEdgeMeshFormat.C           |   7 +-
 .../edgeMeshFormats/nas/NASedgeFormat.C       |  12 +-
 .../edgeMeshFormats/obj/OBJedgeFormat.C       |  13 +-
 .../edgeMeshFormats/starcd/STARCDedgeFormat.C |   7 +-
 .../edgeMeshFormats/vtk/VTKedgeFormat.C       |  15 +-
 src/edgeMesh/edgeMeshIO.C                     |   9 +-
 src/edgeMesh/edgeMeshNew.C                    |   9 +-
 .../extendedEdgeMeshFormat.C                  |   5 +-
 .../extendedEdgeMesh/extendedEdgeMeshI.H      |   6 +-
 .../extendedEdgeMesh/extendedEdgeMeshNew.C    |   9 +-
 .../extendedEdgeMeshTemplates.C               |  24 +-
 .../extendedFeatureEdgeMesh.C                 |   9 +-
 .../extendedFeatureEdgeMeshI.H                |   6 +-
 .../extendedFeatureEdgeMeshTemplates.C        |  24 +-
 src/engine/engineMesh/engineMesh/engineMesh.C |   8 +-
 .../engineMesh/engineMesh/engineMeshNew.C     |   8 +-
 src/fileFormats/coordSet/coordSet.C           |   8 +-
 .../sampledSetWriters/csv/csvSetWriter.C      |   4 +-
 .../gnuplot/gnuplotSetWriter.C                |   4 +-
 .../sampledSetWriters/raw/rawSetWriter.C      |   4 +-
 .../sampledSetWriters/vtk/vtkSetWriter.C      |   4 +-
 src/fileFormats/sampledSetWriters/writer.C    |   8 +-
 .../xmgrace/xmgraceSetWriter.C                |   4 +-
 src/fileFormats/starcd/STARCDCore.C           |  13 +-
 src/fileFormats/vtk/vtkUnstructuredReader.C   |  46 ++--
 .../pairPatchAgglomeration.C                  |  29 +-
 .../pairPatchAgglomerationTemplates.C         |  10 +-
 .../displacementInterpolationMotionSolver.C   |  24 +-
 .../displacementLayeredMotionMotionSolver.C   |  58 +---
 .../motionDiffusivity/motionDiffusivity.C     |   9 +-
 ...surfaceDisplacementPointPatchVectorField.C |  14 +-
 ...meVaryingMappedFixedValuePointPatchField.C |  22 +-
 ...polatedDisplacementPointPatchVectorField.C |  14 +-
 src/fvOptions/cellSetOption/cellSetOption.C   |   8 +-
 src/fvOptions/fvOption/fvOption.C             |   8 +-
 .../interRegionOption/interRegionOption.C     |   4 +-
 .../interRegionOption/interRegionOptionI.H    |   6 +-
 .../actuationDiskSource/actuationDiskSource.C |   8 +-
 .../effectivenessHeatExchangerSource.C        |  11 +-
 .../explicitPorositySource.C                  |   3 +-
 .../meanVelocityForce/meanVelocityForce.C     |  12 +-
 .../patchMeanVelocityForce.C                  |   2 +-
 .../rotorDiskSource/bladeModel/bladeModel.C   |   2 +-
 .../profileModel/lookup/lookupProfile.C       |  10 +-
 .../profileModel/profileModel.C               |   4 +-
 .../profileModel/profileModelList.C           |   4 +-
 .../profileModel/series/seriesProfile.C       |  22 +-
 .../derived/rotorDiskSource/rotorDiskSource.C |  14 +-
 .../rotorDiskSourceTemplates.C                |   2 +-
 .../trimModel/trimModel/trimModelNew.C        |   8 +-
 .../solidificationMeltingSource.C             |  12 +-
 .../tabulated6DoFAcceleration.C               |  18 +-
 .../semiImplicitSource/SemiImplicitSource.C   |   7 +-
 .../interRegionExplicitPorositySource.C       |   5 +-
 .../interRegionHeatTransferModel.C            |  12 +-
 .../interRegionHeatTransferModelI.H           |  10 +-
 .../genericFvPatchField/genericFvPatchField.C |  84 ++----
 .../genericPointPatchField.C                  |  42 +--
 .../clouds/Templates/DSMCCloud/DSMCCloud.C    |   2 +-
 .../clouds/Templates/DSMCCloud/DSMCCloudI.H   |   2 +-
 .../BinaryCollisionModelNew.C                 |   6 +-
 .../NoBinaryCollision/NoBinaryCollision.C     |   9 +-
 .../FreeStream/FreeStream.C                   |  12 +-
 .../InflowBoundaryModelNew.C                  |   7 +-
 .../WallInteractionModelNew.C                 |   6 +-
 src/lagrangian/basic/Cloud/Cloud.C            |   4 +-
 src/lagrangian/basic/Cloud/CloudIO.C          |  19 +-
 src/lagrangian/basic/IOPosition/IOPosition.C  |   6 +-
 .../basic/InteractionLists/InteractionLists.C |   9 +-
 .../referredWallFace/referredWallFace.C       |  22 +-
 src/lagrangian/basic/particle/particleI.H     |  36 +--
 .../basic/particle/particleTemplates.C        |  23 +-
 .../COxidationDiffusionLimitedRate.C          |  10 +-
 .../COxidationIntrinsicRate.C                 |  10 +-
 .../COxidationMurphyShaddix.C                 |   6 +-
 .../distributionModel/distributionModel.C     |   4 +-
 .../distributionModel/distributionModelNew.C  |  11 +-
 .../distributionModels/normal/normal.C        |   6 +-
 .../IntegrationScheme/IntegrationSchemeNew.C  |   8 +-
 .../Templates/CollidingCloud/CollidingCloud.C |  16 +-
 .../KinematicCloud/KinematicCloudI.H          |  10 +-
 .../cloudSolution/cloudSolution.C             |   8 +-
 .../clouds/Templates/MPPICCloud/MPPICCloud.C  |  16 +-
 .../Templates/ReactingCloud/ReactingCloud.C   |  13 +-
 .../Templates/ThermoCloud/ThermoCloudI.H      |  44 +--
 .../CollidingParcel/CollidingParcel.C         |   6 +-
 .../CollisionRecordList/CollisionRecordList.C |  36 +--
 .../PairCollisionRecord/PairCollisionRecord.C |   8 +-
 .../WallCollisionRecord/WallCollisionRecord.C |   8 +-
 .../WallCollisionRecordI.H                    |  11 +-
 .../KinematicParcel/KinematicParcel.C         |  13 +-
 .../ReactingMultiphaseParcelI.H               |   9 +-
 .../Templates/ReactingParcel/ReactingParcel.C |  23 +-
 .../Templates/ThermoParcel/ThermoParcel.C     |  38 +--
 .../ThermoParcel/ThermoParcelTrackingDataI.H  |  10 +-
 .../phaseProperties/phaseProperties.C         |  48 +---
 .../CloudFunctionObjectNew.C                  |  14 +-
 .../ParticleCollector/ParticleCollector.C     |  19 +-
 .../ParticleErosion/ParticleErosion.C         |  14 +-
 .../ParticleTracks/ParticleTracks.C           |  12 +-
 .../PatchPostProcessing/PatchPostProcessing.C |  12 +-
 .../VoidFraction/VoidFraction.C               |   4 +-
 .../CollisionModel/CollisionModelNew.C        |  12 +-
 .../PairModel/PairModel/PairModelNew.C        |  12 +-
 .../WallModel/WallModel/WallModelNew.C        |  12 +-
 .../DispersionModel/DispersionModelNew.C      |  12 +-
 .../CellZoneInjection/CellZoneInjection.C     |   6 +-
 .../ConeNozzleInjection/ConeNozzleInjection.C |  32 +--
 .../InflationInjection/InflationInjection.C   |  12 +-
 .../InjectionModel/InjectionModel.C           |  37 +--
 .../InjectionModel/InjectionModelNew.C        |  24 +-
 .../PatchInjection/patchInjectionBase.C       |  10 +-
 .../Drag/NonSphereDrag/NonSphereDragForce.C   |  12 +-
 .../Lift/LiftForce/LiftForceI.H               |   9 +-
 .../ParticleForce/ParticleForce.C             |  12 +-
 .../ParticleForce/ParticleForceNew.C          |  13 +-
 .../PressureGradient/PressureGradientForceI.H |   9 +-
 .../LocalInteraction/LocalInteraction.C       |  17 +-
 .../patchInteractionDataList.C                |  20 +-
 .../PatchInteractionModelNew.C                |  12 +-
 .../StandardWallInteraction.C                 |  25 +-
 .../StochasticCollisionModelNew.C             |  12 +-
 .../SurfaceFilmModel/SurfaceFilmModelNew.C    |  12 +-
 .../AveragingMethod/AveragingMethod.C         |  13 +-
 .../CorrectionLimitingMethod.C                |  11 +-
 .../DampingModels/DampingModel/DampingModel.C |  12 +-
 .../IsotropyModel/IsotropyModel.C             |  12 +-
 .../PackingModels/PackingModel/PackingModel.C |  12 +-
 .../ParticleStressModel/ParticleStressModel.C |  11 +-
 .../TimeScaleModel/TimeScaleModel.C           |  11 +-
 .../CompositionModel/CompositionModel.C       | 127 ++-------
 .../CompositionModel/CompositionModelNew.C    |  12 +-
 .../SingleMixtureFraction.C                   |  35 +--
 .../SinglePhaseMixture/SinglePhaseMixture.C   |  18 +-
 .../LiquidEvaporation/LiquidEvaporation.C     |  42 +--
 .../LiquidEvaporationBoil.C                   |  42 +--
 .../PhaseChangeModel/PhaseChangeModel.C       |   7 +-
 .../PhaseChangeModel/PhaseChangeModelNew.C    |  12 +-
 .../ConstantRateDevolatilisation.C            |  13 +-
 .../DevolatilisationModelNew.C                |  12 +-
 .../SingleKineticRateDevolatilisation.C       |  11 +-
 .../SurfaceReactionModelNew.C                 |  12 +-
 .../HeatTransferModel/HeatTransferModelNew.C  |  12 +-
 .../ThermoSurfaceFilm/ThermoSurfaceFilm.C     |  33 +--
 .../bufferedAccumulator/bufferedAccumulator.C |  16 +-
 .../correlationFunction/correlationFunction.C |   6 +-
 .../distribution/distribution.C               |   8 +-
 .../mdTools/calculateTransportProperties.H    |   8 +-
 .../molecule/molecule/molecule.C              |   4 +-
 .../molecule/molecule/moleculeI.H             |  14 +-
 .../molecule/moleculeCloud/moleculeCloud.C    |  18 +-
 .../molecule/moleculeCloud/moleculeCloudI.H   |   6 +-
 .../molecule/reducedUnits/reducedUnits.C      |  10 +-
 .../basic/energyScalingFunctionNew.C          |   8 +-
 .../pairPotential/basic/pairPotential.C       |   6 +-
 .../pairPotential/basic/pairPotentialNew.C    |   8 +-
 .../pairPotentialList/pairPotentialList.C     |  14 +-
 .../pairPotentialList/pairPotentialListI.H    |   4 +-
 .../potential/potential/potential.C           |  31 +--
 .../basic/tetherPotentialNew.C                |   8 +-
 .../tetherPotentialList/tetherPotentialList.C |   6 +-
 .../tetherPotentialListI.H                    |   7 +-
 .../AtomizationModel/AtomizationModelNew.C    |  12 +-
 .../BreakupModel/BreakupModelNew.C            |  12 +-
 .../spray/submodels/BreakupModel/TAB/TAB.C    |   4 +-
 .../DispersionRASModel/DispersionRASModel.C   |  12 +-
 .../BrownianMotion/BrownianMotionForce.C      |   6 +-
 .../autoHexMeshDriver/autoLayerDriver.C       |  12 +-
 .../autoHexMeshDriver/autoLayerDriverShrink.C |   4 +-
 .../autoHexMeshDriver/autoSnapDriver.C        |  17 +-
 .../autoHexMeshDriver/autoSnapDriverFeature.C |  25 +-
 .../layerParameters/layerParameters.C         |  20 +-
 .../refinementParameters.C                    |   8 +-
 .../externalDisplacementMeshMover.C           |  10 +-
 .../medialAxisMeshMover.C                     |   9 +-
 .../meshRefinement/meshRefinement.C           |  68 ++---
 .../meshRefinement/meshRefinementBaffles.C    |  78 ++----
 .../meshRefinementProblemCells.C              |   4 +-
 .../meshRefinement/meshRefinementTemplates.C  |  23 +-
 .../refinementFeatures/refinementFeatures.C   |  23 +-
 .../refinementSurfaces/refinementSurfaces.C   |  15 +-
 .../refinementSurfaces/surfaceZonesInfo.C     |  22 +-
 .../autoHexMesh/shellSurfaces/shellSurfaces.C |  27 +-
 .../blockDescriptor/blockDescriptor.C         |  20 +-
 src/mesh/blockMesh/blockMesh/blockMesh.C      |   2 +-
 src/mesh/blockMesh/blockMesh/blockMeshCheck.C |  26 +-
 src/mesh/blockMesh/blockMesh/blockMeshMerge.C |  20 +-
 .../blockMesh/blockMesh/blockMeshMergeFast.C  |  17 +-
 .../blockMesh/blockMesh/blockMeshTopology.C   |  31 +--
 src/mesh/blockMesh/curvedEdges/arcEdge.C      |   5 +-
 src/mesh/blockMesh/curvedEdges/curvedEdge.C   |   2 +-
 src/mesh/blockMesh/curvedEdges/lineEdge.C     |   2 +-
 .../extrudeModel/extrudeModelNew.C            |   8 +-
 .../linearDirection/linearDirection.C         |   4 +-
 .../extrudeModel/linearNormal/linearNormal.C  |   6 +-
 .../planeExtrusion/planeExtrusion.C           |   2 +-
 .../extrudeModel/sigmaRadial/sigmaRadial.C    |   4 +-
 src/mesh/extrudeModel/wedge/wedge.C           |   2 +-
 .../AMIInterpolation/AMIInterpolation.C       |  92 +------
 .../AMIMethod/AMIMethod/AMIMethod.C           |  31 +--
 .../AMIMethod/AMIMethod/AMIMethodNew.C        |  18 +-
 .../faceAreaWeightAMI/faceAreaWeightAMI.C     |  29 +-
 .../AMIMethod/mapNearestAMI/mapNearestAMI.C   |  14 +-
 .../faceAreaIntersect/faceAreaIntersect.C     |  14 +-
 .../cyclicACMIPointPatchField.C               |  22 +-
 .../cyclicACMIPolyPatch/cyclicACMIPolyPatch.C |  35 +--
 .../cyclicAMIPointPatchField.C                |  22 +-
 .../cyclicAMIPolyPatch/cyclicAMIPolyPatch.C   |  62 +----
 .../algorithms/MeshWave/FaceCellWave.C        |  41 +--
 .../PatchEdgeFaceWave/PatchEdgeFaceWave.C     |  30 +--
 .../PatchEdgeFaceWave/patchEdgeFaceRegionI.H  |   4 +-
 .../PatchEdgeFaceWave/patchEdgeFaceRegionsI.H |   8 +-
 .../algorithms/PointEdgeWave/PointEdgeWave.C  |  37 +--
 .../cellClassification/cellClassification.C   |  16 +-
 src/meshTools/cellClassification/cellInfoI.H  |   6 +-
 src/meshTools/cellDist/cellDistFuncs.C        |  12 +-
 src/meshTools/cellFeatures/cellFeatures.C     |  42 +--
 .../coordinateRotation/axesRotation.C         |  18 +-
 .../coordinateRotationNew.C                   |  15 +-
 .../coordinateRotation/cylindrical.C          |  26 +-
 .../coordinateSystems/coordinateSystem.C      |   9 +-
 .../coordinateSystems/coordinateSystemNew.C   |   5 +-
 .../edgeFaceCirculator/edgeFaceCirculatorI.H  |  22 +-
 src/meshTools/indexedOctree/treeDataFace.C    |   7 +-
 .../indexedOctree/treeDataPrimitivePatch.C    |  19 +-
 .../indexedOctree/treeDataTriSurface.C        |  11 +-
 .../mappedPolyPatch/mappedPatchBase.C         |  88 ++----
 .../mappedPolyPatch/mappedPatchBaseI.H        |   8 +-
 src/meshTools/meshSearch/meshSearch.C         |  25 +-
 src/meshTools/meshTools/meshTools.C           |  74 ++---
 .../polyMeshZipUpCells/polyMeshZipUpCells.C   |  19 +-
 .../primitiveMeshGeometry.C                   | 102 ++-----
 .../regionCoupledBaseGAMGInterface.C          |  24 +-
 .../regionCoupledBase.C                       |   9 +-
 src/meshTools/regionSplit/localPointRegion.C  |  24 +-
 src/meshTools/regionSplit/regionSplit.C       |  19 +-
 .../searchableSurface/searchableBox.C         |  24 +-
 .../searchableSurface/searchableDisk.C        |   9 +-
 .../searchableSurface/searchablePlane.C       |   9 +-
 .../searchableSurface/searchablePlate.C       |  15 +-
 .../searchableSurface/searchableSurface.C     |   9 +-
 .../searchableSurfaceCollection.C             |  22 +-
 .../searchableSurface/searchableSurfaces.C    |  35 +--
 .../searchableSurfacesQueries.C               |  11 +-
 .../searchableSurface/triSurfaceMesh.C        |  15 +-
 .../faceZoneToCell/faceZoneToCell.C           |   4 +-
 .../cellSources/fieldToCell/fieldToCell.C     |  16 +-
 .../cellSources/regionToCell/regionToCell.C   |   9 +-
 .../cellSources/shapeToCell/shapeToCell.C     |  20 +-
 .../cellSources/surfaceToCell/surfaceToCell.C |  14 +-
 .../targetVolumeToCell/targetVolumeToCell.C   |   6 +-
 .../sets/cellSources/zoneToCell/zoneToCell.C  |   4 +-
 .../setToCellZone/setToCellZone.C             |   9 +-
 .../faceSources/normalToFace/normalToFace.C   |   9 +-
 .../faceSources/patchToFace/patchToFace.C     |   4 +-
 .../sets/faceSources/zoneToFace/zoneToFace.C  |   4 +-
 .../faceZoneToFaceZone/faceZoneToFaceZone.C   |   9 +-
 .../searchableSurfaceToFaceZone.C             |  10 +-
 .../setAndNormalToFaceZone.C                  |  12 +-
 .../setToFaceZone/setToFaceZone.C             |   9 +-
 .../setsToFaceZone/setsToFaceZone.C           |  16 +-
 .../surfaceToPoint/surfaceToPoint.C           |   2 +-
 .../pointSources/zoneToPoint/zoneToPoint.C    |   4 +-
 .../setToPointZone/setToPointZone.C           |   9 +-
 .../sets/topoSetSource/topoSetSource.C        |  18 +-
 src/meshTools/sets/topoSets/faceSet.C         |   4 +-
 src/meshTools/sets/topoSets/faceZoneSet.C     |   8 +-
 src/meshTools/sets/topoSets/topoSet.C         |  29 +-
 .../booleanSurface/booleanSurface.C           |  50 ++--
 .../booleanSurface/booleanSurface.H           |   4 +-
 .../intersectedSurface/edgeSurface.H          |   6 +-
 .../intersectedSurface/intersectedSurface.C   |  48 ++--
 .../surfaceIntersection/edgeIntersections.C   |  16 +-
 .../surfaceIntersection/surfaceIntersection.C |  15 +-
 .../surfaceIntersectionFuncs.C                |   9 +-
 .../orientedSurface/orientedSurface.C         |  10 +-
 .../surfaceFeatures/surfaceFeatures.C         |  16 +-
 .../triSurfaceSearch/triSurfaceRegionSearch.C |   4 +-
 .../triSurfaceSearch/triSurfaceSearch.C       |   4 +-
 .../pointToPointPlanarInterpolation.C         |  20 +-
 ...pointToPointPlanarInterpolationTemplates.C |   9 +-
 .../triSurfaceTools/triSurfaceTools.C         |  59 ++--
 .../twoDPointCorrector/twoDPointCorrector.C   |   8 +-
 .../fvFieldDecomposerDecomposeFields.C        |   6 +-
 .../decompositionMethod/decompositionMethod.C |  42 +--
 .../geomDecomp/geomDecomp.C                   |   9 +-
 .../hierarchGeomDecomp/hierarchGeomDecomp.C   |  14 +-
 .../manualDecomp/manualDecomp.C               |  14 +-
 .../multiLevelDecomp/multiLevelDecomp.C       |   4 +-
 .../structuredDecomp/structuredDecomp.C       |   2 +-
 .../decompose/metisDecomp/metisDecomp.C       |  44 ++-
 .../decompose/ptscotchDecomp/ptscotchDecomp.C |  41 +--
 .../decompose/scotchDecomp/scotchDecomp.C     |  42 +--
 .../distributedTriSurfaceMesh.C               |  29 +-
 .../reconstruct/fvFieldReconstructor.C        |  15 +-
 .../fvFieldReconstructorReconstructFields.C   |  13 +-
 .../reconstruct/pointFieldReconstructor.C     |  15 +-
 .../reconstruct/reconstruct/processorMeshes.C |   4 +-
 .../basic/addSubtract/addSubtract.C           |  14 +-
 .../foamCalcFunctions/calcType/calcTypeNew.C  |   6 +-
 .../IO/partialWrite/partialWrite.C            |   4 +-
 .../writeRegisteredObject.C                   |   4 +-
 .../fieldAverage/fieldAverage/fieldAverage.C  |  14 +-
 .../fieldAverage/fieldAverageTemplates.C      |   5 +-
 .../fieldAverageItem/fieldAverageItem.C       |   8 +-
 .../fieldCoordinateSystemTransform.C          |  14 +-
 .../field/fieldMinMax/fieldMinMax.C           |  12 +-
 .../field/fieldMinMax/fieldMinMaxTemplates.C  |  10 +-
 .../field/fieldValues/cellSource/cellSource.C |  12 +-
 .../cellSource/cellSourceTemplates.C          |  11 +-
 .../field/fieldValues/faceSource/faceSource.C |  31 +--
 .../faceSource/faceSourceTemplates.C          |  44 +--
 .../field/fieldValues/fieldValue/fieldValue.C |  12 +-
 .../fieldValues/fieldValue/fieldValueNew.C    |  14 +-
 .../fieldValueDeltaTemplates.C                |   9 +-
 .../field/nearWallFields/nearWallFields.C     |  12 +-
 .../field/processorField/processorField.C     |  14 +-
 .../field/readFields/readFields.C             |  14 +-
 .../regionSizeDistribution.C                  |  12 +-
 .../field/streamLine/streamLine.C             |  26 +-
 .../field/streamLine/streamLineParticle.C     |   4 +-
 .../surfaceInterpolateFields.C                |  14 +-
 .../wallBoundedParticle.C                     |  36 +--
 .../wallBoundedParticleTemplates.C            |  13 +-
 .../wallBoundedStreamLine.C                   |  34 +--
 .../wallBoundedStreamLineParticle.C           |   4 +-
 .../forces/forceCoeffs/forceCoeffs.C          |   2 +-
 .../functionObjects/forces/forces/forces.C    |  32 +--
 .../fvTools/calcFvcDiv/calcFvcDiv.C           |  16 +-
 .../fvTools/calcFvcGrad/calcFvcGrad.C         |  16 +-
 .../functionObjects/fvTools/calcMag/calcMag.C |  16 +-
 .../functionObjects/systemCall/systemCall.C   |   6 +-
 .../utilities/CourantNo/CourantNo.C           |  12 +-
 .../utilities/Lambda2/Lambda2.C               |  14 +-
 .../functionObjects/utilities/Peclet/Peclet.C |  14 +-
 .../functionObjects/utilities/Q/Q.C           |  14 +-
 .../utilities/blendingFactor/blendingFactor.C |  14 +-
 .../blendingFactor/blendingFactorTemplates.C  |   4 +-
 .../utilities/dsmcFields/dsmcFields.C         |  14 +-
 .../utilities/pressureTools/pressureTools.C   |  16 +-
 .../utilities/residuals/residuals.C           |  12 +-
 .../scalarTransport/scalarTransport.C         |   2 +-
 .../setTimeStep/setTimeStepFunctionObject.C   |   4 +-
 .../timeActivatedFileUpdate.C                 |   4 +-
 .../turbulenceFields/turbulenceFields.C       |  18 +-
 .../turbulenceFieldsTemplates.C               |  12 +-
 .../utilities/vorticity/vorticity.C           |  14 +-
 .../wallShearStress/wallShearStress.C         |  16 +-
 .../functionObjects/utilities/yPlus/yPlus.C   |  14 +-
 src/randomProcesses/Kmesh/Kmesh.C             |   4 +-
 src/randomProcesses/fft/fft.C                 |   9 +-
 src/randomProcesses/noise/noiseFFT.C          |  15 +-
 .../energyRegionCoupledFvPatchScalarField.C   |  13 +-
 .../pyrolysisModels/noPyrolysis/noPyrolysis.C |   4 +-
 .../pyrolysisModel/pyrolysisModelCollection.C |   2 +-
 .../pyrolysisModel/pyrolysisModelNew.C        |  14 +-
 ...sRadiativeCoupledMixedFvPatchScalarField.C |  35 +--
 ...rolysisVelocityCoupledFvPatchVectorField.C |   8 +-
 .../regionModel/regionModel/regionModel.C     |  31 +--
 .../regionModel/regionModel/regionModelI.H    |  28 +-
 .../regionModel/regionModelTemplates.C        |  23 +-
 .../regionModel1D/regionModel1DI.H            |   9 +-
 .../regionModelFunctionObjectNew.C            |  13 +-
 .../singleLayerRegion/singleLayerRegion.C     |   8 +-
 ...linedFilmNusseltHeightFvPatchScalarField.C |   9 +-
 ...lmNusseltInletVelocityFvPatchVectorField.C |   9 +-
 .../kinematicSingleLayer.C                    |  30 +--
 .../surfaceFilmModels/noFilm/noFilm.C         |  30 +--
 .../submodels/filmSubModelBaseTemplates.C     |   4 +-
 .../filmThermoModel/filmThermoModelNew.C      |   8 +-
 .../liquidFilmThermo/liquidFilmThermo.C       |   7 +-
 .../filmTurbulenceModelNew.C                  |  12 +-
 .../kinematic/force/force/forceNew.C          |  13 +-
 .../curvatureSeparation/curvatureSeparation.C |  11 +-
 .../injectionModel/injectionModelNew.C        |  13 +-
 .../patchInjection/patchInjection.C           |   2 +-
 .../filmRadiationModelNew.C                   |  12 +-
 .../filmViscosityModelNew.C                   |  13 +-
 .../heatTransferModel/heatTransferModelNew.C  |   8 +-
 .../phaseChangeModel/phaseChangeModelNew.C    |   8 +-
 .../surfaceFilmModel/surfaceFilmModelNew.C    |   8 +-
 .../thermalBaffleFvPatchScalarField.C         |   8 +-
 .../thermalBaffleModels/noThermo/noThermo.C   |  14 +-
 .../thermalBaffle/thermalBaffle.C             |   4 +-
 .../thermalBaffleModel/thermalBaffleModel.C   |  30 +--
 .../thermalBaffleModelNew.C                   |  10 +-
 .../manualRenumber/manualRenumber.C           |  22 +-
 .../renumberMethod/renumberMethod.C           |   7 +-
 .../structuredRenumber/structuredRenumber.C   |  10 +-
 src/renumber/zoltanRenumber/zoltanRenumber.C  |   6 +-
 src/sampling/cuttingPlane/cuttingPlane.C      |  12 +-
 .../calcMethod/mapNearest/mapNearestMethod.C  |  12 +-
 .../meshToMeshMethod/meshToMeshMethodNew.C    |  11 +-
 src/sampling/meshToMesh/meshToMesh.C          |  23 +-
 .../meshToMesh/meshToMeshParallelOps.C        |  16 +-
 src/sampling/meshToMesh/meshToMeshTemplates.C |  22 +-
 .../calculateMeshToMesh0Addressing.C          |   2 +-
 .../meshToMesh0/calculateMeshToMesh0Weights.C |   6 +-
 src/sampling/meshToMesh0/meshToMesh0.C        |  30 +--
 .../meshToMesh0/meshToMesh0Templates.C        |  41 +--
 src/sampling/probes/patchProbes.C             |  13 +-
 src/sampling/probes/probes.C                  |  10 +-
 src/sampling/sampledSet/circle/circleSet.C    |   8 +-
 src/sampling/sampledSet/face/faceOnlySet.C    |   4 +-
 .../sampledSet/midPoint/midPointSet.C         |   5 +-
 .../midPointAndFace/midPointAndFaceSet.C      |   5 +-
 .../sampledSet/polyLine/polyLineSet.C         |   6 +-
 .../sampledSet/sampledSet/sampledSet.C        |  36 +--
 .../sampledSet/sampledSets/sampledSets.C      |   4 +-
 .../sampledSets/sampledSetsGrouping.C         |   4 +-
 .../sampledSets/sampledSetsTemplates.C        |  15 +-
 src/sampling/sampledSet/uniform/uniformSet.C  |   4 +-
 .../distanceSurface/distanceSurface.C         |  20 +-
 .../sampledSurface/isoSurface/isoSurface.C    |  30 +--
 .../isoSurface/isoSurfaceCell.C               |  20 +-
 .../isoSurface/isoSurfaceCellTemplates.C      |   2 +-
 .../isoSurface/isoSurfaceTemplates.C          |   6 +-
 .../isoSurface/sampledIsoSurface.C            |  10 +-
 .../sampledCuttingPlane/sampledCuttingPlane.C |   9 +-
 .../sampledPatch/sampledPatch.C               |   4 +-
 .../sampledSurface/sampledSurface.C           |  13 +-
 .../sampledSurface/sampledSurfaceTemplates.C  |   7 +-
 .../sampledSurfaces/sampledSurfacesGrouping.C |   4 +-
 .../sampledThresholdCellFaces.C               |   7 +-
 .../thresholdCellFaces/thresholdCellFaces.C   |   5 +-
 .../writers/dx/dxSurfaceWriter.C              |   8 +-
 .../writers/nastran/nastranSurfaceWriter.C    |  24 +-
 .../nastran/nastranSurfaceWriterTemplates.C   |  17 +-
 .../sampledSurface/writers/surfaceWriter.C    |   8 +-
 ...gidBodyDisplacementPointPatchVectorField.C |   6 +-
 .../sixDoFRigidBodyMotionAxisConstraint.C     |   8 +-
 .../sixDoFRigidBodyMotionLineConstraint.C     |   8 +-
 .../sixDoFRigidBodyMotionConstraintNew.C      |  13 +-
 .../linearAxialAngularSpring.C                |  18 +-
 .../sixDoFRigidBodyMotionRestraintNew.C       |  11 +-
 .../sphericalAngularSpring.C                  |   9 +-
 .../tabulatedAxialAngularSpring.C             |  27 +-
 .../sixDoFRigidBodyMotionSolver.C             |   6 +-
 .../sixDoFSolver/newSixDoFSolver.C            |   2 +-
 .../sixDoFSolvers/symplectic/symplectic.C     |   2 +-
 src/surfMesh/MeshedSurface/MeshedSurface.C    |  29 +-
 src/surfMesh/MeshedSurface/MeshedSurfaceNew.C |   9 +-
 .../MeshedSurface/MeshedSurfaceZones.C        |  12 +-
 .../MeshedSurfaceProxy/MeshedSurfaceProxy.C   |   8 +-
 .../UnsortedMeshedSurface.C                   |   9 +-
 .../UnsortedMeshedSurfaceNew.C                |  10 +-
 src/surfMesh/surfMesh/surfMesh.C              |  12 +-
 src/surfMesh/surfMesh/surfMeshIO.C            |   5 +-
 .../surfZone/surfZone/surfZoneIOList.C        |   4 +-
 .../surfaceFormats/ac3d/AC3DsurfaceFormat.C   |  51 +---
 .../ac3d/AC3DsurfaceFormatCore.C              |   7 +-
 .../surfaceFormats/ftr/FTRsurfaceFormat.C     |   7 +-
 .../surfaceFormats/gts/GTSsurfaceFormat.C     |  46 +---
 .../surfaceFormats/nas/NASsurfaceFormat.C     |  12 +-
 .../surfaceFormats/obj/OBJsurfaceFormat.C     |  13 +-
 .../surfaceFormats/off/OFFsurfaceFormat.C     |  18 +-
 .../surfaceFormats/ofs/OFSsurfaceFormat.C     |  25 +-
 .../surfaceFormats/smesh/SMESHsurfaceFormat.C |   8 +-
 .../starcd/STARCDsurfaceFormat.C              |   7 +-
 .../surfaceFormats/stl/STLsurfaceFormat.C     |  26 +-
 .../stl/STLsurfaceFormatASCII.L               |  10 +-
 .../surfaceFormats/stl/STLsurfaceFormatCore.C |  10 +-
 .../surfaceFormats/tri/TRIsurfaceFormat.C     |  14 +-
 .../surfaceFormats/tri/TRIsurfaceFormatCore.C |   5 +-
 .../surfaceFormats/vtk/VTKsurfaceFormat.C     |  20 +-
 .../surfaceFormats/wrl/WRLsurfaceFormat.C     |   8 +-
 .../surfaceFormats/x3d/X3DsurfaceFormat.C     |   8 +-
 .../SLGThermo/SLGThermo/SLGThermo.C           |  39 +--
 .../barotropicCompressibilityModelNew.C       |   8 +-
 .../basic/basicThermo/basicThermo.C           |  10 +-
 .../basic/basicThermo/basicThermoTemplates.C  |   6 +-
 .../basicChemistryModelTemplates.C            |  13 +-
 .../RaviPetersen/RaviPetersen.C               |  14 +-
 .../laminarFlameSpeed/laminarFlameSpeedNew.C  |   5 +-
 .../liquidMixtureProperties.C                 |  10 +-
 .../liquidProperties/liquidProperties.C       |  22 +-
 .../properties/solidProperties/C/C.C          |   4 +-
 .../properties/solidProperties/CaCO3/CaCO3.C  |   4 +-
 .../properties/solidProperties/ash/ash.C      |   4 +-
 .../solidProperties/solidPropertiesNew.C      |   8 +-
 ...iffusiveRadiationMixedFvPatchScalarField.C |   7 +-
 .../radiationCoupledBase.C                    |  20 +-
 ...iffusiveRadiationMixedFvPatchScalarField.C |   7 +-
 .../fvDOM/absorptionCoeffs/absorptionCoeffs.C |   6 +-
 .../radiationModels/fvDOM/fvDOM/fvDOM.C       |   4 +-
 .../radiationModel/radiationModel.C           |  12 +-
 .../radiationModel/radiationModelNew.C        |  12 +-
 .../radiationModels/viewFactor/viewFactor.C   |  12 +-
 .../absorptionEmissionModelNew.C              |   6 +-
 .../greyMeanAbsorptionEmission.C              |  50 +---
 .../greyMeanSolidAbsorptionEmission.C         |  22 +-
 .../wideBandAbsorptionEmission.C              |  23 +-
 .../scatterModel/scatterModelNew.C            |   6 +-
 .../mixtureFractionSoot/mixtureFractionSoot.C |  10 +-
 .../sootModel/sootModel/sootModelNew.C        |   6 +-
 .../chemistryReader/chemistryReader.C         |   8 +-
 .../chemkinReader/chemkinLexer.L              |  76 +++---
 .../chemkinReader/chemkinReader.C             |  34 +--
 .../mixtures/egrMixture/egrMixture.C          |   9 +-
 .../homogeneousMixture/homogeneousMixture.C   |  10 +-
 .../inhomogeneousMixture.C                    |  10 +-
 .../multiComponentMixture.C                   |   6 +-
 .../singleStepReactingMixture.C               |  10 +-
 .../veryInhomogeneousMixture.C                |  10 +-
 .../basicSolidChemistryModelNew.C             |   2 +-
 .../reaction/Reactions/Reaction/Reaction.C    |  23 +-
 .../thirdBodyEfficienciesI.H                  |  28 +-
 .../specie/thermo/hPower/hPowerThermoI.H      |   6 +-
 .../specie/thermo/janaf/janafThermo.C         |   8 +-
 .../specie/thermo/janaf/janafThermoI.H        |  36 +--
 .../specie/thermo/thermo/thermoI.H            |  13 +-
 .../thermophysicalFunction.C                  |   6 +-
 .../linearValveFvMesh/linearValveFvMesh.C     |   8 +-
 .../linearValveLayersFvMesh.C                 |   8 +-
 .../mixerFvMesh/mixerFvMesh.C                 |   4 +-
 .../viscosityModel/viscosityModelNew.C        |   9 +-
 .../faceTriangulation/faceTriangulation.C     |  34 +--
 .../meshTriangulation/meshTriangulation.C     |   6 +-
 .../triSurface/interfaces/AC3D/readAC.C       |  18 +-
 .../triSurface/interfaces/DX/writeDX.C        |  14 +-
 .../triSurface/interfaces/GTS/readGTS.C       |  10 +-
 .../triSurface/interfaces/NAS/readNAS.C       |   6 +-
 .../triSurface/interfaces/OBJ/readOBJ.C       |   4 +-
 .../triSurface/interfaces/OFF/readOFF.C       |   6 +-
 .../triSurface/interfaces/STL/readSTLASCII.L  |  22 +-
 .../triSurface/interfaces/STL/readSTLBINARY.C |   2 +-
 .../triSurface/interfaces/TRI/readTRI.C       |   4 +-
 .../surfacePatch/surfacePatchIOList.C         |  13 +-
 src/triSurface/triSurface/triSurface.C        |  67 ++---
 .../triSurface/triSurfaceAddressing.C         |   8 +-
 678 files changed, 3357 insertions(+), 8219 deletions(-)

diff --git a/applications/test/error/Test-error.C b/applications/test/error/Test-error.C
index 892c1356e54..b9be1924a52 100644
--- a/applications/test/error/Test-error.C
+++ b/applications/test/error/Test-error.C
@@ -45,7 +45,7 @@ int main(int argc, char *argv[])
 
         dictionary dict;
 
-        IOWarningIn("main", dict) << "warning 3" << endl;
+        IOWarningInFunction(dict) << "warning 3" << endl;
 
         FatalErrorInFunction << "error 1" << endl;
         FatalErrorInFunction << "error 2" << exit(FatalError);
diff --git a/doc/codingStyleGuide.org b/doc/codingStyleGuide.org
index e61a00d7d28..29eb59145c6 100644
--- a/doc/codingStyleGuide.org
+++ b/doc/codingStyleGuide.org
@@ -28,12 +28,12 @@
         #+END_SRC
         so
         #+BEGIN_SRC C++
-        WarningIn("className::functionName()")
+        WarningInFunction
             << "Warning message"
         #+END_SRC
         *not*
         #+BEGIN_SRC C++
-        WarningIn("className::functionName()")
+        WarningInFunction
         << "Warning message"
         #+END_SRC
 
diff --git a/etc/codeTemplates/source/_Template.C b/etc/codeTemplates/source/_Template.C
index 36464dc5f5d..a7005f5a207 100644
--- a/etc/codeTemplates/source/_Template.C
+++ b/etc/codeTemplates/source/_Template.C
@@ -87,7 +87,7 @@ void Foam::CLASSNAME::operator=(const CLASSNAME& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn("Foam::CLASSNAME::operator=(const Foam::CLASSNAME&)")
+        FatalErrorInFunction
             << "Attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/etc/codeTemplates/template/_TemplateTemplate.C b/etc/codeTemplates/template/_TemplateTemplate.C
index 0cd8a3fbc9d..41469f7b13d 100644
--- a/etc/codeTemplates/template/_TemplateTemplate.C
+++ b/etc/codeTemplates/template/_TemplateTemplate.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -103,11 +103,8 @@ void Foam::CLASSNAME<TemplateArgument>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::CLASSNAME<TemplateArgument>::operator="
-            "(const Foam::CLASSNAME<TemplateArgument>&)"
-        )   << "Attempted assignment to self"
+        FatalErrorInFunction
+            << "Attempted assignment to self"
             << abort(FatalError);
     }
 }
diff --git a/src/ODE/ODESolvers/ODESolver/ODESolver.C b/src/ODE/ODESolvers/ODESolver/ODESolver.C
index 39f38323df9..823f159097a 100644
--- a/src/ODE/ODESolvers/ODESolver/ODESolver.C
+++ b/src/ODE/ODESolvers/ODESolver/ODESolver.C
@@ -145,12 +145,8 @@ void Foam::ODESolver::solve
         }
     }
 
-    FatalErrorIn
-    (
-        "ODESolver::solve"
-        "(const scalar xStart, const scalar xEnd,"
-        "scalarField& y, scalar& dxTry) const"
-    )   << "Integration steps greater than maximum " << maxSteps_
+    FatalErrorInFunction
+        << "Integration steps greater than maximum " << maxSteps_
         << "xStart = " << xStart << ", xEnd = " << xEnd
         << ", x = " << x << ", dxDid = " << step.dxDid
         << exit(FatalError);
diff --git a/src/ODE/ODESolvers/ODESolver/ODESolverNew.C b/src/ODE/ODESolvers/ODESolver/ODESolverNew.C
index ef0d6e34547..0774ac7de0c 100644
--- a/src/ODE/ODESolvers/ODESolver/ODESolverNew.C
+++ b/src/ODE/ODESolvers/ODESolver/ODESolverNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,11 +41,8 @@ Foam::autoPtr<Foam::ODESolver> Foam::ODESolver::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "ODESolver::New"
-            "(const dictionary& dict, const ODESystem& odes)"
-        )   << "Unknown ODESolver type "
+        FatalErrorInFunction
+            << "Unknown ODESolver type "
             << ODESolverTypeName << nl << nl
             << "Valid ODESolvers are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/ODE/ODESolvers/SIBS/SIBS.C b/src/ODE/ODESolvers/SIBS/SIBS.C
index dd7d26c9e67..36acb8a6b1a 100644
--- a/src/ODE/ODESolvers/SIBS/SIBS.C
+++ b/src/ODE/ODESolvers/SIBS/SIBS.C
@@ -145,7 +145,7 @@ void Foam::SIBS::solve
 
             if (xNew_ == x)
             {
-                FatalErrorIn("ODES::SIBS")
+                FatalErrorInFunction
                     << "step size underflow"
                     << exit(FatalError);
             }
diff --git a/src/ODE/ODESolvers/adaptiveSolver/adaptiveSolver.C b/src/ODE/ODESolvers/adaptiveSolver/adaptiveSolver.C
index ee49a70d88e..f868e921d09 100644
--- a/src/ODE/ODESolvers/adaptiveSolver/adaptiveSolver.C
+++ b/src/ODE/ODESolvers/adaptiveSolver/adaptiveSolver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -74,7 +74,7 @@ void Foam::adaptiveSolver::solve
 
             if (dx < VSMALL)
             {
-                FatalErrorIn("adaptiveSolver::solve")
+                FatalErrorInFunction
                     << "stepsize underflow"
                     << exit(FatalError);
             }
diff --git a/src/ODE/ODESolvers/seulex/seulex.C b/src/ODE/ODESolvers/seulex/seulex.C
index cf82d31b02f..51389d0779c 100644
--- a/src/ODE/ODESolvers/seulex/seulex.C
+++ b/src/ODE/ODESolvers/seulex/seulex.C
@@ -252,7 +252,7 @@ void Foam::seulex::solve
 
         if (mag(dx) <= mag(x)*sqr(SMALL))
         {
-             WarningIn("seulex::solve(scalar& x, scalarField& y, stepState&")
+             WarningInFunction
                     << "step size underflow :"  << dx << endl;
         }
 
diff --git a/src/OSspecific/POSIX/POSIX.C b/src/OSspecific/POSIX/POSIX.C
index 5374c0b6152..44ee3c7088f 100644
--- a/src/OSspecific/POSIX/POSIX.C
+++ b/src/OSspecific/POSIX/POSIX.C
@@ -253,7 +253,7 @@ Foam::fileName Foam::cwd()
     }
     else
     {
-        FatalErrorIn("Foam::cwd()")
+        FatalErrorInFunction
             << "Couldn't get the current working directory"
             << exit(FatalError);
 
@@ -437,7 +437,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
         {
             case EPERM:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "The filesystem containing " << pathName
                     << " does not support the creation of directories."
                     << exit(FatalError);
@@ -453,7 +453,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case EFAULT:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "" << pathName
                     << " points outside your accessible address space."
                     << exit(FatalError);
@@ -463,7 +463,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case EACCES:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "The parent directory does not allow write "
                        "permission to the process,"<< nl
                     << "or one of the directories in " << pathName
@@ -475,7 +475,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case ENAMETOOLONG:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "" << pathName << " is too long."
                     << exit(FatalError);
 
@@ -491,7 +491,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
                 }
                 else
                 {
-                    FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                    FatalErrorInFunction
                         << "Couldn't create directory " << pathName
                         << exit(FatalError);
 
@@ -501,7 +501,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case ENOTDIR:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "A component used as a directory in " << pathName
                     << " is not, in fact, a directory."
                     << exit(FatalError);
@@ -511,7 +511,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case ENOMEM:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "Insufficient kernel memory was available to make "
                        "directory " << pathName << '.'
                     << exit(FatalError);
@@ -521,7 +521,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case EROFS:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "" << pathName
                     << " refers to a file on a read-only filesystem."
                     << exit(FatalError);
@@ -531,7 +531,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case ELOOP:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "Too many symbolic links were encountered in resolving "
                     << pathName << '.'
                     << exit(FatalError);
@@ -541,7 +541,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case ENOSPC:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "The device containing " << pathName
                     << " has no room for the new directory or "
                     << "the user's disk quota is exhausted."
@@ -552,7 +552,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             default:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "Couldn't create directory " << pathName
                     << exit(FatalError);
 
@@ -862,7 +862,7 @@ bool Foam::ln(const fileName& src, const fileName& dst)
 
     if (exists(dst))
     {
-        WarningIn("ln(const fileName&, const fileName&)")
+        WarningInFunction
             << "destination " << dst << " already exists. Not linking."
             << endl;
         return false;
@@ -870,7 +870,7 @@ bool Foam::ln(const fileName& src, const fileName& dst)
 
     if (src.isAbsolute() && !exists(src))
     {
-        WarningIn("ln(const fileName&, const fileName&)")
+        WarningInFunction
             << "source " << src << " does not exist." << endl;
         return false;
     }
@@ -881,7 +881,7 @@ bool Foam::ln(const fileName& src, const fileName& dst)
     }
     else
     {
-        WarningIn("ln(const fileName&, const fileName&)")
+        WarningInFunction
             << "symlink from " << src << " to " << dst << " failed." << endl;
         return false;
     }
@@ -987,7 +987,7 @@ bool Foam::rmDir(const fileName& directory)
     // Attempt to open directory and set the structure pointer
     if ((source = ::opendir(directory.c_str())) == NULL)
     {
-        WarningIn("rmDir(const fileName&)")
+        WarningInFunction
             << "cannot open directory " << directory << endl;
 
         return false;
@@ -1007,7 +1007,7 @@ bool Foam::rmDir(const fileName& directory)
                 {
                     if (!rmDir(path))
                     {
-                        WarningIn("rmDir(const fileName&)")
+                        WarningInFunction
                             << "failed to remove directory " << fName
                             << " while removing directory " << directory
                             << endl;
@@ -1021,7 +1021,7 @@ bool Foam::rmDir(const fileName& directory)
                 {
                     if (!rm(path))
                     {
-                        WarningIn("rmDir(const fileName&)")
+                        WarningInFunction
                             << "failed to remove file " << fName
                             << " while removing directory " << directory
                             << endl;
@@ -1037,7 +1037,7 @@ bool Foam::rmDir(const fileName& directory)
 
         if (!rm(directory))
         {
-            WarningIn("rmDir(const fileName&)")
+            WarningInFunction
                 << "failed to remove directory " << directory << endl;
 
             ::closedir(source);
@@ -1062,10 +1062,8 @@ void Foam::fdClose(const int fd)
 {
     if (close(fd) != 0)
     {
-        FatalErrorIn
-        (
-            "fdClose(const int fd)"
-        )   << "close error on " << fd << endl
+        FatalErrorInFunction
+            << "close error on " << fd << endl
             << abort(FatalError);
     }
 }
@@ -1085,10 +1083,8 @@ bool Foam::ping
 
     if ((hostPtr = ::gethostbyname(destName.c_str())) == NULL)
     {
-        FatalErrorIn
-        (
-            "Foam::ping(const string&, ...)"
-        )   << "gethostbyname error " << h_errno << " for host " << destName
+        FatalErrorInFunction
+            << "gethostbyname error " << h_errno << " for host " << destName
             << abort(FatalError);
     }
 
@@ -1099,10 +1095,8 @@ bool Foam::ping
     sockfd = ::socket(AF_INET, SOCK_STREAM, 0);
     if (sockfd < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::ping(const string&, const label)"
-        )   << "socket error"
+        FatalErrorInFunction
+            << "socket error"
             << abort(FatalError);
     }
 
@@ -1176,7 +1170,7 @@ void* Foam::dlOpen(const fileName& lib, const bool check)
 
     if (!handle && check)
     {
-        WarningIn("dlOpen(const fileName&, const bool)")
+        WarningInFunction
             << "dlopen error : " << ::dlerror()
             << endl;
     }
@@ -1224,7 +1218,7 @@ void* Foam::dlSym(void* handle, const std::string& symbol)
 
     if (error)
     {
-        WarningIn("dlSym(void*, const std::string&)")
+        WarningInFunction
             << "Cannot lookup symbol " << symbol << " : " << error
             << endl;
     }
diff --git a/src/OSspecific/POSIX/fileMonitor.C b/src/OSspecific/POSIX/fileMonitor.C
index d15fab273d4..e3bddbc78f3 100644
--- a/src/OSspecific/POSIX/fileMonitor.C
+++ b/src/OSspecific/POSIX/fileMonitor.C
@@ -149,7 +149,7 @@ namespace Foam
                     if (!hasWarned)
                     {
                         hasWarned = true;
-                        WarningIn("fileMonitorWatcher(const bool, const label)")
+                        WarningInFunction
                             << "Failed allocating an inotify descriptor : "
                             << string(strerror(errno)) << endl
                             << "    Please increase the number of allowable "
@@ -166,7 +166,7 @@ namespace Foam
                     }
                 }
                 #else
-                    FatalErrorIn("fileMonitorWatcher(const bool, const label)")
+                    FatalErrorInFunction
                         << "You selected inotify but this file was compiled"
                         << " without FOAM_USE_INOTIFY"
                         << " Please select another fileModification test method"
@@ -191,7 +191,7 @@ namespace Foam
                     {
                         if (inotify_rm_watch(inotifyFd_, int(dirWatches_[i])))
                         {
-                            WarningIn("fileMonitor::~fileMonitor()")
+                            WarningInFunction
                                 << "Failed deleting directory watch "
                                 << dirWatches_[i] << endl;
                         }
@@ -229,7 +229,7 @@ namespace Foam
 
                     if (dirWatchID < 0)
                     {
-                        FatalErrorIn("addWatch(const label, const fileName&)")
+                        FatalErrorInFunction
                             << "Failed adding watch " << watchFd
                             << " to directory " << fName << " due to "
                             << string(strerror(errno))
@@ -240,7 +240,7 @@ namespace Foam
                 if (watchFd < dirWatches_.size() && dirWatches_[watchFd] != -1)
                 {
                     // Reuse of watchFd : should have dir watchID set to -1.
-                    FatalErrorIn("addWatch(const label, const fileName&)")
+                    FatalErrorInFunction
                         << "Problem adding watch " << watchFd
                         << " to file " << fName
                         << abort(FatalError);
@@ -255,7 +255,7 @@ namespace Foam
                 if (watchFd < lastMod_.size() && lastMod_[watchFd] != 0)
                 {
                     // Reuse of watchFd : should have lastMod set to 0.
-                    FatalErrorIn("addWatch(const label, const fileName&)")
+                    FatalErrorInFunction
                         << "Problem adding watch " << watchFd
                         << " to file " << fName
                         << abort(FatalError);
@@ -320,7 +320,7 @@ void Foam::fileMonitor::checkFiles() const
 
             if (ready < 0)
             {
-                FatalErrorIn("fileMonitor::checkFiles()")
+                FatalErrorInFunction
                     << "Problem in issuing select."
                     << abort(FatalError);
             }
@@ -336,7 +336,7 @@ void Foam::fileMonitor::checkFiles() const
 
                 if (nBytes < 0)
                 {
-                    FatalErrorIn("fileMonitor::checkFiles()")
+                    FatalErrorInFunction
                         << "read of " << watcher_->inotifyFd_
                         << " failed with " << label(nBytes)
                         << abort(FatalError);
@@ -473,7 +473,7 @@ Foam::label Foam::fileMonitor::addWatch(const fileName& fName)
 
     if (watchFd < 0)
     {
-        WarningIn("fileMonitor::addWatch(const fileName&)")
+        WarningInFunction
             << "could not add watch for file " << fName << endl;
     }
     else
@@ -593,11 +593,8 @@ void Foam::fileMonitor::updateStates
                             << endl;
                     }
 
-                    WarningIn
-                    (
-                        "fileMonitor::updateStates"
-                        "(const bool, const bool) const"
-                    )   << "Delaying reading " << watchFile_[watchFd]
+                    WarningInFunction
+                        << "Delaying reading " << watchFile_[watchFd]
                         << " due to inconsistent "
                            "file time-stamps between processors" << endl;
                 }
diff --git a/src/OSspecific/POSIX/regExp.C b/src/OSspecific/POSIX/regExp.C
index 0bd52fc5d8c..a7177dc048a 100644
--- a/src/OSspecific/POSIX/regExp.C
+++ b/src/OSspecific/POSIX/regExp.C
@@ -151,10 +151,8 @@ void Foam::regExp::set(const char* pattern, const bool ignoreCase) const
             char errbuf[200];
             regerror(err, preg_, errbuf, sizeof(errbuf));
 
-            FatalErrorIn
-            (
-                "regExp::set(const char*, const bool ignoreCase)"
-            )   << "Failed to compile regular expression '" << pattern << "'"
+            FatalErrorInFunction
+                << "Failed to compile regular expression '" << pattern << "'"
                 << nl << errbuf
                 << exit(FatalError);
         }
diff --git a/src/OSspecific/POSIX/signals/sigFpe.C b/src/OSspecific/POSIX/signals/sigFpe.C
index 5488f2e5260..0e3ab8acd63 100644
--- a/src/OSspecific/POSIX/signals/sigFpe.C
+++ b/src/OSspecific/POSIX/signals/sigFpe.C
@@ -92,10 +92,8 @@ void Foam::sigFpe::sigHandler(int)
     // Reset old handling
     if (sigaction(SIGFPE, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigSegv::sigHandler()"
-        )   << "Cannot reset SIGFPE trapping"
+        FatalErrorInFunction
+            << "Cannot reset SIGFPE trapping"
             << abort(FatalError);
     }
 
@@ -128,10 +126,8 @@ Foam::sigFpe::~sigFpe()
         // Reset signal
         if (oldAction_.sa_handler && sigaction(SIGFPE, &oldAction_, NULL) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::sigFpe::~sigFpe()"
-            )   << "Cannot reset SIGFPE trapping"
+            FatalErrorInFunction
+                << "Cannot reset SIGFPE trapping"
                 << abort(FatalError);
         }
         #endif
@@ -153,10 +149,8 @@ void Foam::sigFpe::set(const bool verbose)
 {
     if (oldAction_.sa_handler)
     {
-        FatalErrorIn
-        (
-            "Foam::sigFpe::set()"
-        )   << "Cannot call sigFpe::set() more than once"
+        FatalErrorInFunction
+            << "Cannot call sigFpe::set() more than once"
             << abort(FatalError);
     }
 
@@ -180,10 +174,8 @@ void Foam::sigFpe::set(const bool verbose)
         sigemptyset(&newAction.sa_mask);
         if (sigaction(SIGFPE, &newAction, &oldAction_) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::sigFpe::set()"
-            )   << "Cannot set SIGFPE trapping"
+            FatalErrorInFunction
+                << "Cannot set SIGFPE trapping"
                 << abort(FatalError);
         }
 
diff --git a/src/OSspecific/POSIX/signals/sigInt.C b/src/OSspecific/POSIX/signals/sigInt.C
index 29c71f5ba74..fee8d60887d 100644
--- a/src/OSspecific/POSIX/signals/sigInt.C
+++ b/src/OSspecific/POSIX/signals/sigInt.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,10 +40,8 @@ void Foam::sigInt::sigHandler(int)
     // Reset old handling
     if (sigaction(SIGINT, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigInt::sigHandler()"
-        )   << "Cannot reset SIGINT trapping"
+        FatalErrorInFunction
+            << "Cannot reset SIGINT trapping"
             << abort(FatalError);
     }
 
@@ -70,10 +68,8 @@ Foam::sigInt::~sigInt()
     // Reset old handling
     if (sigaction(SIGINT, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigInt::~sigInt()"
-        )   << "Cannot reset SIGINT trapping"
+        FatalErrorInFunction
+            << "Cannot reset SIGINT trapping"
             << abort(FatalError);
     }
 }
@@ -85,10 +81,8 @@ void Foam::sigInt::set(const bool)
 {
     if (oldAction_.sa_handler)
     {
-        FatalErrorIn
-        (
-            "Foam::sigInt::set()"
-        )   << "Cannot call sigInt::set() more than once"
+        FatalErrorInFunction
+            << "Cannot call sigInt::set() more than once"
             << abort(FatalError);
     }
 
@@ -98,10 +92,8 @@ void Foam::sigInt::set(const bool)
     sigemptyset(&newAction.sa_mask);
     if (sigaction(SIGINT, &newAction, &oldAction_) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigInt::set()"
-        )   << "Cannot set SIGINT trapping"
+        FatalErrorInFunction
+            << "Cannot set SIGINT trapping"
             << abort(FatalError);
     }
 }
diff --git a/src/OSspecific/POSIX/signals/sigQuit.C b/src/OSspecific/POSIX/signals/sigQuit.C
index 9c16d3d33de..f6ba64a8277 100644
--- a/src/OSspecific/POSIX/signals/sigQuit.C
+++ b/src/OSspecific/POSIX/signals/sigQuit.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,10 +40,8 @@ void Foam::sigQuit::sigHandler(int)
     // Reset old handling
     if (sigaction(SIGQUIT, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigQuit::sigHandler()"
-        )   << "Cannot reset SIGQUIT trapping"
+        FatalErrorInFunction
+            << "Cannot reset SIGQUIT trapping"
             << abort(FatalError);
     }
 
@@ -72,10 +70,8 @@ Foam::sigQuit::~sigQuit()
     // Reset old handling
     if (oldAction_.sa_handler && sigaction(SIGQUIT, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigQuit::~sigQuit()"
-        )   << "Cannot reset SIGQUIT trapping"
+        FatalErrorInFunction
+            << "Cannot reset SIGQUIT trapping"
             << abort(FatalError);
     }
 }
@@ -87,10 +83,8 @@ void Foam::sigQuit::set(const bool verbose)
 {
     if (oldAction_.sa_handler)
     {
-        FatalErrorIn
-        (
-            "Foam::sigQuit::set()"
-        )   << "Cannot call sigQuit::set() more than once"
+        FatalErrorInFunction
+            << "Cannot call sigQuit::set() more than once"
             << abort(FatalError);
     }
 
@@ -100,10 +94,8 @@ void Foam::sigQuit::set(const bool verbose)
     sigemptyset(&newAction.sa_mask);
     if (sigaction(SIGQUIT, &newAction, &oldAction_) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigQuit::set()"
-        )   << "Cannot set SIGQUIT trapping"
+        FatalErrorInFunction
+            << "Cannot set SIGQUIT trapping"
             << abort(FatalError);
     }
 }
diff --git a/src/OSspecific/POSIX/signals/sigSegv.C b/src/OSspecific/POSIX/signals/sigSegv.C
index 11a30699769..3c0fc0fef5d 100644
--- a/src/OSspecific/POSIX/signals/sigSegv.C
+++ b/src/OSspecific/POSIX/signals/sigSegv.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,10 +40,8 @@ void Foam::sigSegv::sigHandler(int)
     // Reset old handling
     if (sigaction(SIGSEGV, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigSegv::sigHandler()"
-        )   << "Cannot reset SIGSEGV trapping"
+        FatalErrorInFunction
+            << "Cannot reset SIGSEGV trapping"
             << abort(FatalError);
     }
 
@@ -72,10 +70,8 @@ Foam::sigSegv::~sigSegv()
     // Reset old handling
     if (sigaction(SIGSEGV, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigSegv::~sigSegv()"
-        )   << "Cannot reset SIGSEGV trapping"
+        FatalErrorInFunction
+            << "Cannot reset SIGSEGV trapping"
             << abort(FatalError);
     }
 }
@@ -87,10 +83,8 @@ void Foam::sigSegv::set(const bool)
 {
     if (oldAction_.sa_handler)
     {
-        FatalErrorIn
-        (
-            "Foam::sigSegv::set()"
-        )   << "Cannot call sigSegv::set() more than once"
+        FatalErrorInFunction
+            << "Cannot call sigSegv::set() more than once"
             << abort(FatalError);
     }
 
@@ -100,10 +94,8 @@ void Foam::sigSegv::set(const bool)
     sigemptyset(&newAction.sa_mask);
     if (sigaction(SIGSEGV, &newAction, &oldAction_) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigSegv::set()"
-        )   << "Cannot set SIGSEGV trapping"
+        FatalErrorInFunction
+            << "Cannot set SIGSEGV trapping"
             << abort(FatalError);
     }
 }
diff --git a/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C b/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C
index 94759bfe330..3696eca38b9 100644
--- a/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C
+++ b/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -80,10 +80,8 @@ void Foam::sigStopAtWriteNow::sigHandler(int)
     // Reset old handling
     if (sigaction(signal_, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigStopAtWriteNow::sigHandler(int)"
-        )   << "Cannot reset " << signal_ << " trapping"
+        FatalErrorInFunction
+            << "Cannot reset " << signal_ << " trapping"
             << abort(FatalError);
     }
 
@@ -127,10 +125,8 @@ Foam::sigStopAtWriteNow::~sigStopAtWriteNow()
     {
         if (sigaction(signal_, &oldAction_, NULL) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::sigStopAtWriteNow::~sigStopAtWriteNow()"
-            )   << "Cannot reset " << signal_ << " trapping"
+            FatalErrorInFunction
+                << "Cannot reset " << signal_ << " trapping"
                 << abort(FatalError);
         }
     }
@@ -146,11 +142,8 @@ void Foam::sigStopAtWriteNow::set(const bool verbose)
         // Check that the signal is different from the writeNowSignal
         if (sigWriteNow::signal_ == signal_)
         {
-            FatalErrorIn
-            (
-                "Foam::sigStopAtWriteNow::sigStopAtWriteNow"
-                "(const bool, const Time&)"
-            )   << "stopAtWriteNowSignal : " << signal_
+            FatalErrorInFunction
+                << "stopAtWriteNowSignal : " << signal_
                 << " cannot be the same as the writeNowSignal."
                 << " Please change this in the controlDict ("
                 << findEtcFile("controlDict", false) << ")."
@@ -164,11 +157,8 @@ void Foam::sigStopAtWriteNow::set(const bool verbose)
         sigemptyset(&newAction.sa_mask);
         if (sigaction(signal_, &newAction, &oldAction_) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::sigStopAtWriteNow::sigStopAtWriteNow"
-                "(const bool, const Time&)"
-            )   << "Cannot set " << signal_ << " trapping"
+            FatalErrorInFunction
+                << "Cannot set " << signal_ << " trapping"
                 << abort(FatalError);
         }
 
diff --git a/src/OSspecific/POSIX/signals/sigWriteNow.C b/src/OSspecific/POSIX/signals/sigWriteNow.C
index 29381368a2d..2439b3feedd 100644
--- a/src/OSspecific/POSIX/signals/sigWriteNow.C
+++ b/src/OSspecific/POSIX/signals/sigWriteNow.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -108,10 +108,8 @@ Foam::sigWriteNow::~sigWriteNow()
     {
         if (sigaction(signal_, &oldAction_, NULL) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::sigWriteNow::~sigWriteNow()"
-            )   << "Cannot reset " << signal_ << " trapping"
+            FatalErrorInFunction
+                << "Cannot reset " << signal_ << " trapping"
                 << abort(FatalError);
         }
     }
@@ -130,10 +128,8 @@ void Foam::sigWriteNow::set(const bool verbose)
         sigemptyset(&newAction.sa_mask);
         if (sigaction(signal_, &newAction, &oldAction_) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::sigWriteNow::sigWriteNow(const bool, const Time&)"
-            )   << "Cannot set " << signal_ << " trapping"
+            FatalErrorInFunction
+                << "Cannot set " << signal_ << " trapping"
                 << abort(FatalError);
         }
 
diff --git a/src/OSspecific/POSIX/timer.C b/src/OSspecific/POSIX/timer.C
index 8b175332d8b..7e1f5886d35 100644
--- a/src/OSspecific/POSIX/timer.C
+++ b/src/OSspecific/POSIX/timer.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -67,10 +67,8 @@ Foam::timer::timer(const unsigned int newTimeOut)
         // Is singleton since handler is static function
         if (oldTimeOut_ != 0)
         {
-            FatalErrorIn
-            (
-                "Foam::timer::timer(const unsigned int)"
-            )   << "timer already used."
+            FatalErrorInFunction
+                << "timer already used."
                 << abort(FatalError);
         }
 
@@ -84,10 +82,8 @@ Foam::timer::timer(const unsigned int newTimeOut)
 
         if (sigaction(SIGALRM, &newAction, &oldAction_) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::timer::timer(const unsigned int)"
-            )   << "sigaction(SIGALRM) error"
+            FatalErrorInFunction
+                << "sigaction(SIGALRM) error"
                 << abort(FatalError);
         }
 
@@ -125,11 +121,8 @@ Foam::timer::~timer()
         // Restore signal handler
         if (sigaction(SIGALRM, &oldAction_, NULL) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::timer::~timer(const struct sigaction&"
-                "const struct sigaction&)"
-            )   << "sigaction(SIGALRM) error"
+            FatalErrorInFunction
+                << "sigaction(SIGALRM) error"
                 << abort(FatalError);
         }
     }
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C
index 076bca07df7..6092a56a675 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C
@@ -638,7 +638,7 @@ bool Foam::GAMGAgglomeration::checkRestriction
 
     if (nNewCoarse > nCoarse)
     {
-        //WarningIn("GAMGAgglomeration::checkRestriction(..)")
+        //WarningInFunction
         //    << "Have " << nCoarse
         //    << " agglomerated cells but " << nNewCoarse
         //    << " disconnected regions" << endl;
diff --git a/src/Pstream/dummy/UPstream.C b/src/Pstream/dummy/UPstream.C
index c3d430c53f9..cd3bc60f39d 100644
--- a/src/Pstream/dummy/UPstream.C
+++ b/src/Pstream/dummy/UPstream.C
@@ -34,7 +34,7 @@ void Foam::UPstream::addValidParOptions(HashTable<string>& validParOptions)
 
 bool Foam::UPstream::init(int& argc, char**& argv)
 {
-    FatalErrorIn("UPstream::init(int& argc, char**& argv)")
+    FatalErrorInFunction
         << "Trying to use the dummy Pstream library." << nl
         << "This dummy library cannot be used in parallel mode"
         << Foam::exit(FatalError);
diff --git a/src/Pstream/mpi/PstreamGlobals.C b/src/Pstream/mpi/PstreamGlobals.C
index cdafa043d7b..1acbe583f33 100644
--- a/src/Pstream/mpi/PstreamGlobals.C
+++ b/src/Pstream/mpi/PstreamGlobals.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -76,10 +76,8 @@ void PstreamGlobals::checkCommunicator
      || comm >= PstreamGlobals::MPICommunicators_.size()
     )
     {
-        FatalErrorIn
-        (
-            "PstreamGlobals::checkCommunicator(const label, const label)"
-        )   << "otherProcNo:" << otherProcNo << " : illegal communicator "
+        FatalErrorInFunction
+            << "otherProcNo:" << otherProcNo << " : illegal communicator "
             << comm << endl
             << "Communicator should be within range 0.."
             << PstreamGlobals::MPICommunicators_.size()-1 << abort(FatalError);
diff --git a/src/Pstream/mpi/UIPread.C b/src/Pstream/mpi/UIPread.C
index 4570c6d6de2..524f09dcea5 100644
--- a/src/Pstream/mpi/UIPread.C
+++ b/src/Pstream/mpi/UIPread.C
@@ -137,7 +137,7 @@ Foam::UIPstream::UIPstream(const int fromProcNo, PstreamBuffers& buffers)
 {
     if (commsType() != UPstream::scheduled && !buffers.finishedSendsCalled_)
     {
-        FatalErrorIn("UIPstream::UIPstream(const int, PstreamBuffers&)")
+        FatalErrorInFunction
             << "PstreamBuffers::finishedSends() never called." << endl
             << "Please call PstreamBuffers::finishedSends() after doing"
             << " all your sends (using UOPstream) and before doing any"
@@ -269,11 +269,8 @@ Foam::label Foam::UIPstream::read
             )
         )
         {
-            FatalErrorIn
-            (
-                "UIPstream::read"
-                "(const int fromProcNo, char* buf, std::streamsize bufSize)"
-            )   << "MPI_Recv cannot receive incomming message"
+            FatalErrorInFunction
+                << "MPI_Recv cannot receive incomming message"
                 << Foam::abort(FatalError);
 
             return 0;
@@ -295,11 +292,8 @@ Foam::label Foam::UIPstream::read
 
         if (messageSize > bufSize)
         {
-            FatalErrorIn
-            (
-                "UIPstream::read"
-                "(const int fromProcNo, char* buf, std::streamsize bufSize)"
-            )   << "buffer (" << label(bufSize)
+            FatalErrorInFunction
+                << "buffer (" << label(bufSize)
                 << ") not large enough for incomming message ("
                 << messageSize << ')'
                 << Foam::abort(FatalError);
@@ -325,11 +319,8 @@ Foam::label Foam::UIPstream::read
             )
         )
         {
-            FatalErrorIn
-            (
-                "UIPstream::read"
-                "(const int fromProcNo, char* buf, std::streamsize bufSize)"
-            )   << "MPI_Recv cannot start non-blocking receive"
+            FatalErrorInFunction
+                << "MPI_Recv cannot start non-blocking receive"
                 << Foam::abort(FatalError);
 
             return 0;
@@ -351,11 +342,8 @@ Foam::label Foam::UIPstream::read
     }
     else
     {
-        FatalErrorIn
-        (
-            "UIPstream::read"
-            "(const int fromProcNo, char* buf, std::streamsize bufSize)"
-        )   << "Unsupported communications type "
+        FatalErrorInFunction
+            << "Unsupported communications type "
             << commsType
             << Foam::abort(FatalError);
 
diff --git a/src/Pstream/mpi/UOPwrite.C b/src/Pstream/mpi/UOPwrite.C
index 7d84d3f8371..b3188f0009a 100644
--- a/src/Pstream/mpi/UOPwrite.C
+++ b/src/Pstream/mpi/UOPwrite.C
@@ -136,12 +136,8 @@ bool Foam::UOPstream::write
     }
     else
     {
-        FatalErrorIn
-        (
-            "UOPstream::write"
-            "(const int fromProcNo, char* buf, std::streamsize bufSize"
-            ", const int)"
-        )   << "Unsupported communications type "
+        FatalErrorInFunction
+            << "Unsupported communications type "
             << UPstream::commsTypeNames[commsType]
             << Foam::abort(FatalError);
     }
diff --git a/src/Pstream/mpi/UPstream.C b/src/Pstream/mpi/UPstream.C
index 74edc518b28..f035c989c3d 100644
--- a/src/Pstream/mpi/UPstream.C
+++ b/src/Pstream/mpi/UPstream.C
@@ -76,7 +76,7 @@ bool Foam::UPstream::init(int& argc, char**& argv)
 
     if (numprocs <= 1)
     {
-        FatalErrorIn("UPstream::init(int& argc, char**& argv)")
+        FatalErrorInFunction
             << "bool IPstream::init(int& argc, char**& argv) : "
                "attempt to run parallel on 1 processor"
             << Foam::abort(FatalError);
@@ -100,7 +100,7 @@ bool Foam::UPstream::init(int& argc, char**& argv)
     }
     else
     {
-        FatalErrorIn("UPstream::init(int& argc, char**& argv)")
+        FatalErrorInFunction
             << "UPstream::init(int& argc, char**& argv) : "
             << "environment variable MPI_BUFFER_SIZE not defined"
             << Foam::abort(FatalError);
@@ -137,7 +137,7 @@ void Foam::UPstream::exit(int errnum)
         label n = PstreamGlobals::outstandingRequests_.size();
         PstreamGlobals::outstandingRequests_.clear();
 
-        WarningIn("UPstream::exit(int)")
+        WarningInFunction
             << "There are still " << n << " outstanding MPI_Requests." << endl
             << "This means that your code exited before doing a"
             << " UPstream::waitRequests()." << endl
@@ -311,14 +311,8 @@ void Foam::UPstream::allocatePstreamCommunicator
     }
     else if (index > PstreamGlobals::MPIGroups_.size())
     {
-        FatalErrorIn
-        (
-            "UPstream::allocatePstreamCommunicator\n"
-            "(\n"
-            "    const label parentIndex,\n"
-            "    const labelList& subRanks\n"
-            ")\n"
-        )   << "PstreamGlobals out of sync with UPstream data. Problem."
+        FatalErrorInFunction
+            << "PstreamGlobals out of sync with UPstream data. Problem."
             << Foam::exit(FatalError);
     }
 
@@ -329,14 +323,8 @@ void Foam::UPstream::allocatePstreamCommunicator
 
         if (index != UPstream::worldComm)
         {
-            FatalErrorIn
-            (
-                "UPstream::allocateCommunicator\n"
-                "(\n"
-                "    const label parentIndex,\n"
-                "    const labelList& subRanks\n"
-                ")\n"
-            )   << "world communicator should always be index "
+            FatalErrorInFunction
+                << "world communicator should always be index "
                 << UPstream::worldComm << Foam::exit(FatalError);
         }
 
@@ -393,14 +381,8 @@ void Foam::UPstream::allocatePstreamCommunicator
                 )
             )
             {
-                FatalErrorIn
-                (
-                    "UPstream::allocatePstreamCommunicator\n"
-                    "(\n"
-                    "    const label,\n"
-                    "    const labelList&\n"
-                    ")\n"
-                )   << "Problem :"
+                FatalErrorInFunction
+                    << "Problem :"
                     << " when allocating communicator at " << index
                     << " from ranks " << procIDs_[index]
                     << " of parent " << parentIndex
@@ -473,10 +455,8 @@ void Foam::UPstream::waitRequests(const label start)
             )
         )
         {
-            FatalErrorIn
-            (
-                "UPstream::waitRequests()"
-            )   << "MPI_Waitall returned with error" << Foam::endl;
+            FatalErrorInFunction
+                << "MPI_Waitall returned with error" << Foam::endl;
         }
 
         resetRequests(start);
@@ -499,10 +479,8 @@ void Foam::UPstream::waitRequest(const label i)
 
     if (i >= PstreamGlobals::outstandingRequests_.size())
     {
-        FatalErrorIn
-        (
-            "UPstream::waitRequest(const label)"
-        )   << "There are " << PstreamGlobals::outstandingRequests_.size()
+        FatalErrorInFunction
+            << "There are " << PstreamGlobals::outstandingRequests_.size()
             << " outstanding send requests and you are asking for i=" << i
             << nl
             << "Maybe you are mixing blocking/non-blocking comms?"
@@ -518,10 +496,8 @@ void Foam::UPstream::waitRequest(const label i)
         )
     )
     {
-        FatalErrorIn
-        (
-            "UPstream::waitRequest()"
-        )   << "MPI_Wait returned with error" << Foam::endl;
+        FatalErrorInFunction
+            << "MPI_Wait returned with error" << Foam::endl;
     }
 
     if (debug)
@@ -542,10 +518,8 @@ bool Foam::UPstream::finishedRequest(const label i)
 
     if (i >= PstreamGlobals::outstandingRequests_.size())
     {
-        FatalErrorIn
-        (
-            "UPstream::finishedRequest(const label)"
-        )   << "There are " << PstreamGlobals::outstandingRequests_.size()
+        FatalErrorInFunction
+            << "There are " << PstreamGlobals::outstandingRequests_.size()
             << " outstanding send requests and you are asking for i=" << i
             << nl
             << "Maybe you are mixing blocking/non-blocking comms?"
diff --git a/src/Pstream/mpi/allReduceTemplates.C b/src/Pstream/mpi/allReduceTemplates.C
index 7a07698a77c..ec735f78144 100644
--- a/src/Pstream/mpi/allReduceTemplates.C
+++ b/src/Pstream/mpi/allReduceTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -71,18 +71,8 @@ void Foam::allReduce
                     )
                 )
                 {
-                    FatalErrorIn
-                    (
-                        "void Foam::allReduce\n"
-                        "(\n"
-                        "    Type&,\n"
-                        "    int,\n"
-                        "    MPI_Datatype,\n"
-                        "    MPI_Op,\n"
-                        "    const BinaryOp&,\n"
-                        "    const int\n"
-                        ")\n"
-                    )   << "MPI_Recv failed"
+                    FatalErrorInFunction
+                        << "MPI_Recv failed"
                         << Foam::abort(FatalError);
                 }
 
@@ -104,18 +94,8 @@ void Foam::allReduce
                 )
             )
             {
-                FatalErrorIn
-                (
-                    "void Foam::allReduce\n"
-                    "(\n"
-                    "    Type&,\n"
-                    "    int,\n"
-                    "    MPI_Datatype,\n"
-                    "    MPI_Op,\n"
-                    "    const BinaryOp&,\n"
-                    "    const int\n"
-                    ")\n"
-                )   << "MPI_Send failed"
+                FatalErrorInFunction
+                    << "MPI_Send failed"
                     << Foam::abort(FatalError);
             }
         }
@@ -143,18 +123,8 @@ void Foam::allReduce
                     )
                 )
                 {
-                    FatalErrorIn
-                    (
-                        "void Foam::allReduce\n"
-                        "(\n"
-                        "    Type&,\n"
-                        "    int,\n"
-                        "    MPI_Datatype,\n"
-                        "    MPI_Op,\n"
-                        "    const BinaryOp&,\n"
-                        "    const int\n"
-                        ")\n"
-                    )   << "MPI_Send failed"
+                    FatalErrorInFunction
+                        << "MPI_Send failed"
                         << Foam::abort(FatalError);
                 }
             }
@@ -175,18 +145,8 @@ void Foam::allReduce
                 )
             )
             {
-                FatalErrorIn
-                (
-                    "void Foam::allReduce\n"
-                    "(\n"
-                    "    Type&,\n"
-                    "    int,\n"
-                    "    MPI_Datatype,\n"
-                    "    MPI_Op,\n"
-                    "    const BinaryOp&,\n"
-                    "    const int\n"
-                    ")\n"
-                )   << "MPI_Recv failed"
+                FatalErrorInFunction
+                    << "MPI_Recv failed"
                     << Foam::abort(FatalError);
             }
         }
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
index 9791087190b..84404f7625e 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
@@ -160,14 +160,8 @@ void Foam::externalCoupledTemperatureMixedFvPatchScalarField::transferData
     }
     else
     {
-        FatalErrorIn
-        (
-            "void Foam::externalCoupledTemperatureMixedFvPatchScalarField::"
-            "transferData"
-            "("
-                "OFstream&"
-            ") const"
-        )   << "Condition requires either compressible turbulence and/or "
+        FatalErrorInFunction
+            << "Condition requires either compressible turbulence and/or "
             << "thermo model to be available" << exit(FatalError);
     }
 
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
index b4346d59c29..2a02d01cac2 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
@@ -143,16 +143,8 @@ externalWallHeatFluxTemperatureFvPatchScalarField
     }
     else
     {
-        FatalErrorIn
-        (
-            "externalWallHeatFluxTemperatureFvPatchScalarField::"
-            "externalWallHeatFluxTemperatureFvPatchScalarField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<scalar, volMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n"
-        )   << "\n patch type '" << p.type()
+        FatalErrorInFunction
+            << "\n patch type '" << p.type()
             << "' either q or h and Ta were not found '"
             << "\n for patch " << p.name()
             << " of field " << dimensionedInternalField().name()
@@ -311,11 +303,8 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs()
         }
         default:
         {
-            FatalErrorIn
-            (
-                "externalWallHeatFluxTemperatureFvPatchScalarField"
-                "::updateCoeffs()"
-            )   << "Illegal heat flux mode " << operationModeNames[mode_]
+            FatalErrorInFunction
+                << "Illegal heat flux mode " << operationModeNames[mode_]
                 << exit(FatalError);
         }
     }
@@ -370,13 +359,8 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::write
         }
         default:
         {
-            FatalErrorIn
-            (
-                "void externalWallHeatFluxTemperatureFvPatchScalarField::write"
-                "("
-                    "Ostream& os"
-                ") const"
-            )   << "Illegal heat flux mode " << operationModeNames[mode_]
+            FatalErrorInFunction
+                << "Illegal heat flux mode " << operationModeNames[mode_]
                 << abort(FatalError);
         }
     }
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C
index 52aabee0b33..9ed2dd36484 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C
@@ -132,10 +132,7 @@ Foam::tmp<Foam::scalarField> Foam::temperatureCoupledBase::kappa
             }
             else
             {
-                FatalErrorIn
-                (
-                    "temperatureCoupledBase::kappa(const scalarField&) const"
-                )
+                FatalErrorInFunction
                     << "Kappa defined to employ " << KMethodTypeNames_[method_]
                     << " method, but thermo package not available"
                     << exit(FatalError);
@@ -196,10 +193,7 @@ Foam::tmp<Foam::scalarField> Foam::temperatureCoupledBase::kappa
             }
             else
             {
-                FatalErrorIn
-                (
-                    "temperatureCoupledBase::kappa(const scalarField&) const"
-                )
+                FatalErrorInFunction
                     << "Did not find field " << kappaName_
                     << " on mesh " << mesh.name() << " patch " << patch_.name()
                     << nl
@@ -215,10 +209,7 @@ Foam::tmp<Foam::scalarField> Foam::temperatureCoupledBase::kappa
 
         default:
         {
-            FatalErrorIn
-            (
-                "temperatureCoupledBase::kappa(const scalarField&) const"
-            )
+            FatalErrorInFunction
                 << "Unimplemented method " << KMethodTypeNames_[method_] << nl
                 << "Please set 'kappa' to one of " << KMethodTypeNames_.toc()
                 << " and 'kappaName' to the name of the volScalar"
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C
index fe8fb588086..7612f746e7a 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C
@@ -231,11 +231,8 @@ baffleThickness() const
     {
         if (thickness_.size() != patch().size())
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                " template<class solidType>"
-                " tmp<scalarField> thermalBaffle1DFvPatchScalarField<solidType>"
-                " baffleThickness() const",
                 solidDict_
             )<< " Field thickness has not been specified "
             << " for patch " << this->patch().name()
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
index fa137f34b55..786ceae3e9d 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
@@ -219,10 +219,8 @@ void turbulentHeatFluxTemperatureFvPatchScalarField::updateCoeffs()
         }
         default:
         {
-            FatalErrorIn
-            (
-                "turbulentHeatFluxTemperatureFvPatchScalarField::updateCoeffs()"
-            )   << "Unknown heat source type. Valid types are: "
+            FatalErrorInFunction
+                << "Unknown heat source type. Valid types are: "
                 << heatSourceTypeNames_ << nl << exit(FatalError);
         }
     }
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
index d304e598eee..903c50b164e 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
@@ -93,16 +93,7 @@ turbulentTemperatureCoupledBaffleMixedFvPatchScalarField
 {
     if (!isA<mappedPatchBase>(this->patch().patch()))
     {
-        FatalErrorIn
-        (
-            "turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::"
-            "turbulentTemperatureCoupledBaffleMixedFvPatchScalarField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<scalar, volMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n"
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not type '" << mappedPatchBase::typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << dimensionedInternalField().name()
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
index e610afc80e9..8d563bac65c 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
@@ -99,16 +99,7 @@ turbulentTemperatureRadCoupledMixedFvPatchScalarField
 {
     if (!isA<mappedPatchBase>(this->patch().patch()))
     {
-        FatalErrorIn
-        (
-            "turbulentTemperatureRadCoupledMixedFvPatchScalarField::"
-            "turbulentTemperatureRadCoupledMixedFvPatchScalarField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<scalar, volMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n"
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not type '" << mappedPatchBase::typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << dimensionedInternalField().name()
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
index 7a9983fc20f..4b337af0739 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
@@ -49,10 +49,7 @@ void alphatJayatillekeWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn
-        (
-            "alphatJayatillekeWallFunctionFvPatchScalarField::checkType()"
-        )
+        FatalErrorInFunction
             << "Patch type for patch " << patch().name() << " must be wall\n"
             << "Current patch type is " << patch().type() << nl
             << exit(FatalError);
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
index 46a3eb55a7b..02ff42ecc30 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
@@ -48,10 +48,8 @@ void alphatJayatillekeWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn
-        (
-            "alphatJayatillekeWallFunctionFvPatchScalarField::checkType()"
-        )   << "Invalid wall function specification" << nl
+        FatalErrorInFunction
+            << "Invalid wall function specification" << nl
             << "    Patch type for patch " << patch().name()
             << " must be wall" << nl
             << "    Current patch type is " << patch().type() << nl << endl
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C b/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C
index 9955478f419..afb9719c349 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C
@@ -136,17 +136,8 @@ Foam::LESModel<BasicTurbulenceModel>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "LESModel::New"
-            "("
-                "const volScalarField&, "
-                "const volVectorField&, "
-                "const surfaceScalarField&, "
-                "transportModel&, "
-                "const word&"
-            ")"
-        )   << "Unknown LESModel type "
+        FatalErrorInFunction
+            << "Unknown LESModel type "
             << modelType << nl << nl
             << "Valid LESModel types:" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C
index 301638dd5f5..38517e5bc58 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C
@@ -103,13 +103,13 @@ void Foam::LESModels::IDDESDelta::calcDelta()
 
     if (nD == 2)
     {
-        WarningIn("IDDESDelta::calcDelta()")
+        WarningInFunction
             << "Case is 2D, LES is not strictly applicable" << nl
             << endl;
     }
     else if (nD != 3)
     {
-        FatalErrorIn("IDDESDelta::calcDelta()")
+        FatalErrorInFunction
             << "Case must be either 2D or 3D" << exit(FatalError);
     }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C
index a685bd5e534..b799237a36b 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C
@@ -78,10 +78,8 @@ Foam::autoPtr<Foam::LESdelta> Foam::LESdelta::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "LESdelta::New(const word& name, const turbulenceModel& turbulence)"
-        )   << "Unknown LESdelta type "
+        FatalErrorInFunction
+            << "Unknown LESdelta type "
             << deltaType << nl << nl
             << "Valid LESdelta types are :" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
@@ -119,12 +117,8 @@ Foam::autoPtr<Foam::LESdelta> Foam::LESdelta::New
 
         if (cstrIter == dictionaryConstructorTablePtr_->end())
         {
-            FatalErrorIn
-            (
-                "LESdelta::New(const word& name, "
-                "const turbulenceModel& turbulence, "
-                "const dictionaryConstructorTable&)"
-            )   << "Unknown LESdelta type "
+            FatalErrorInFunction
+                << "Unknown LESdelta type "
                 << deltaType << nl << nl
                 << "Valid LESdelta types are :" << endl
                 << additionalConstructors.sortedToc()
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C
index 4767c400ce4..9829fed3c51 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C
@@ -52,7 +52,7 @@ void Foam::LESModels::cubeRootVolDelta::calcDelta()
     }
     else if (nD == 2)
     {
-        WarningIn("cubeRootVolDelta::calcDelta()")
+        WarningInFunction
             << "Case is 2D, LES is not strictly applicable\n"
             << endl;
 
@@ -72,7 +72,7 @@ void Foam::LESModels::cubeRootVolDelta::calcDelta()
     }
     else
     {
-        FatalErrorIn("cubeRootVolDelta::calcDelta()")
+        FatalErrorInFunction
             << "Case is not 3D or 2D, LES is not applicable"
             << exit(FatalError);
     }
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C
index 6c277bf7eb8..701bab6da39 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C
@@ -90,7 +90,7 @@ void Foam::LESModels::maxDeltaxyz::calcDelta()
     }
     else if (nD == 2)
     {
-        WarningIn("maxDeltaxyz::calcDelta()")
+        WarningInFunction
             << "Case is 2D, LES is not strictly applicable\n"
             << endl;
 
@@ -98,7 +98,7 @@ void Foam::LESModels::maxDeltaxyz::calcDelta()
     }
     else
     {
-        FatalErrorIn("maxDeltaxyz::calcDelta()")
+        FatalErrorInFunction
             << "Case is not 3D or 2D, LES is not applicable"
             << exit(FatalError);
     }
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.C b/src/TurbulenceModels/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.C
index 0dc3e9b493a..6f614f0d911 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.C
@@ -51,10 +51,8 @@ Foam::autoPtr<Foam::LESfilter> Foam::LESfilter::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "LESfilter::New(const fvMesh&, const dictionary&)"
-        )   << "Unknown LESfilter type "
+        FatalErrorInFunction
+            << "Unknown LESfilter type "
             << filterType << nl << nl
             << "Valid LESfilter types are :" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C b/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C
index 240c0870df1..e55e79f4d40 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C
@@ -148,17 +148,8 @@ Foam::RASModel<BasicTurbulenceModel>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "RASModel::New"
-            "("
-                "const volScalarField&, "
-                "const volVectorField&, "
-                "const surfaceScalarField&, "
-                "transportModel&, "
-                "const word&"
-            ")"
-        )   << "Unknown RASModel type "
+        FatalErrorInFunction
+            << "Unknown RASModel type "
             << modelType << nl << nl
             << "Valid RASModel types:" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
index 520accaed58..8c5e5b2da53 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
@@ -321,7 +321,7 @@ tmp<volScalarField> SpalartAllmaras<BasicTurbulenceModel>::k() const
 template<class BasicTurbulenceModel>
 tmp<volScalarField> SpalartAllmaras<BasicTurbulenceModel>::epsilon() const
 {
-    WarningIn("tmp<volScalarField> SpalartAllmaras::epsilon() const")
+    WarningInFunction
         << "Turbulence kinetic energy dissipation rate not defined for "
         << "Spalart-Allmaras model. Returning zero field"
         << endl;
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
index 5cd044eb341..2679132d78e 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
@@ -60,10 +60,8 @@ atmBoundaryLayer::atmBoundaryLayer(const vectorField& p, const dictionary& dict)
 {
     if (mag(flowDir_) < SMALL || mag(zDir_) < SMALL)
     {
-        FatalErrorIn
-        (
-            "atmBoundaryLayer(const dictionary&)"
-        )   << "magnitude of n or z must be greater than zero"
+        FatalErrorInFunction
+            << "magnitude of n or z must be greater than zero"
             << abort(FatalError);
     }
 
diff --git a/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C b/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
index 3d148f063da..63dc8d581ee 100644
--- a/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
+++ b/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
@@ -168,10 +168,8 @@ Foam::ReynoldsStress<BasicTurbulenceModel>::ReynoldsStress
 {
     if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0)
     {
-        FatalErrorIn
-        (
-            "ReynoldsStress::ReynoldsStress"
-        )   << "couplingFactor = " << couplingFactor_
+        FatalErrorInFunction
+            << "couplingFactor = " << couplingFactor_
             << " is not in range 0 - 1" << nl
             << exit(FatalError);
     }
diff --git a/src/TurbulenceModels/turbulenceModels/TurbulenceModel/TurbulenceModel.C b/src/TurbulenceModels/turbulenceModels/TurbulenceModel/TurbulenceModel.C
index ec5bf4a31d0..30d4d31921b 100644
--- a/src/TurbulenceModels/turbulenceModels/TurbulenceModel/TurbulenceModel.C
+++ b/src/TurbulenceModels/turbulenceModels/TurbulenceModel/TurbulenceModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -110,13 +110,8 @@ Foam::TurbulenceModel<Alpha, Rho, BasicTurbulenceModel, TransportModel>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "TurbulenceModel::New"
-            "(const alphaField&, const rhoField&, "
-            "const volVectorField&, const surfaceScalarField&, "
-            "transportModel&, const word&)"
-        )   << "Unknown TurbulenceModel type "
+        FatalErrorInFunction
+            << "Unknown TurbulenceModel type "
             << modelType << nl << nl
             << "Valid TurbulenceModel types:" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
index 9361279373f..048b3437e4d 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
@@ -41,7 +41,7 @@ void Foam::epsilonWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn("epsilonWallFunctionFvPatchScalarField::checkType()")
+        FatalErrorInFunction
             << "Invalid wall function specification" << nl
             << "    Patch type for patch " << patch().name()
             << " must be wall" << nl
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
index 9b1aff3b6ae..0b61bfa3f5b 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
@@ -43,7 +43,7 @@ void fWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn("fWallFunctionFvPatchScalarField::checkType()")
+        FatalErrorInFunction
             << "Invalid wall function specification" << nl
             << "    Patch type for patch " << patch().name()
             << " must be wall" << nl
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
index 29a6f0e2b41..30308b29260 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
@@ -41,7 +41,7 @@ void kLowReWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn("kLowReWallFunctionFvPatchScalarField::checkType()")
+        FatalErrorInFunction
             << "Invalid wall function specification" << nl
             << "    Patch type for patch " << patch().name()
             << " must be wall" << nl
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C
index 1bcc7cd8341..6afabdcc6c9 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C
@@ -40,7 +40,7 @@ void kqRWallFunctionFvPatchField<Type>::checkType()
 {
     if (!isA<wallFvPatch>(this->patch()))
     {
-        FatalErrorIn("kqRWallFunctionFvPatchField::checkType()")
+        FatalErrorInFunction
             << "Invalid wall function specification" << nl
             << "    Patch type for patch " << this->patch().name()
             << " must be wall" << nl
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C
index 54e31372fc9..86cb3b473c4 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C
@@ -45,7 +45,7 @@ void nutWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn("nutWallFunctionFvPatchScalarField::checkType()")
+        FatalErrorInFunction
             << "Invalid wall function specification" << nl
             << "    Patch type for patch " << patch().name()
             << " must be wall" << nl
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
index da6130662a9..105822e97a6 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
@@ -47,7 +47,7 @@ void omegaWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn("omegaWallFunctionFvPatchScalarField::checkType()")
+        FatalErrorInFunction
             << "Invalid wall function specification" << nl
             << "    Patch type for patch " << patch().name()
             << " must be wall" << nl
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
index 5351ea669a4..2c24a2688e9 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
@@ -43,7 +43,7 @@ void v2WallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn("v2WallFunctionFvPatchScalarField::checkType()")
+        FatalErrorInFunction
             << "Invalid wall function specification" << nl
             << "    Patch type for patch " << patch().name()
             << " must be wall" << nl
diff --git a/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameAreaNew.C b/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameAreaNew.C
index 0d18abb27f8..8b5905ca4aa 100644
--- a/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameAreaNew.C
+++ b/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameAreaNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,9 +47,8 @@ Foam::autoPtr<Foam::reactionRateFlameArea> Foam::reactionRateFlameArea::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "reactionRateFlameArea::New(const psiReactionThermo&)",
             dict
         )   << "Unknown reactionRateFlameArea type "
             << reactionRateFlameAreaType << endl << endl
diff --git a/src/combustionModels/combustionModel/combustionModelI.H b/src/combustionModels/combustionModel/combustionModelI.H
index 65531556828..e095c5f7e04 100644
--- a/src/combustionModels/combustionModel/combustionModelI.H
+++ b/src/combustionModels/combustionModel/combustionModelI.H
@@ -39,11 +39,8 @@ inline const Foam::surfaceScalarField& Foam::combustionModel::phi() const
     }
     else
     {
-        FatalErrorIn
-        (
-            "const Foam::compressibleTurbulenceModel& "
-            "Foam::combustionModel::turbulence() const "
-        )   << "turbulencePtr_ is empty. Please use "
+        FatalErrorInFunction
+            << "turbulencePtr_ is empty. Please use "
             << "combustionModel::setTurbulence "
             << "(compressibleTurbulenceModel& )"
             << abort(FatalError);
@@ -62,11 +59,8 @@ Foam::combustionModel::turbulence() const
     }
     else
     {
-        FatalErrorIn
-        (
-            "const Foam::compressibleTurbulenceModel& "
-            "Foam::combustionModel::turbulence() const "
-        )   << "turbulencePtr_ is empty. Please use "
+        FatalErrorInFunction
+            << "turbulencePtr_ is empty. Please use "
             << "combustionModel::setTurbulence "
             << "(compressibleTurbulenceModel& )"
             << abort(FatalError);
diff --git a/src/combustionModels/psiCombustionModel/psiCombustionModel/psiCombustionModelNew.C b/src/combustionModels/psiCombustionModel/psiCombustionModel/psiCombustionModelNew.C
index 42a000e1870..59789b48410 100644
--- a/src/combustionModels/psiCombustionModel/psiCombustionModel/psiCombustionModelNew.C
+++ b/src/combustionModels/psiCombustionModel/psiCombustionModel/psiCombustionModelNew.C
@@ -57,10 +57,8 @@ Foam::combustionModels::psiCombustionModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "psiCombustionModel::New"
-        )   << "Unknown psiCombustionModel type "
+        FatalErrorInFunction
+            << "Unknown psiCombustionModel type "
             << combModelName << endl << endl
             << "Valid  combustionModels are : " << endl
             << dictionaryConstructorTablePtr_->toc()
diff --git a/src/combustionModels/rhoCombustionModel/rhoCombustionModel/rhoCombustionModelNew.C b/src/combustionModels/rhoCombustionModel/rhoCombustionModel/rhoCombustionModelNew.C
index 2c94b399313..4a23b500d5e 100644
--- a/src/combustionModels/rhoCombustionModel/rhoCombustionModel/rhoCombustionModelNew.C
+++ b/src/combustionModels/rhoCombustionModel/rhoCombustionModel/rhoCombustionModelNew.C
@@ -57,10 +57,8 @@ Foam::combustionModels::rhoCombustionModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "rhoCombustionModel::New"
-        )   << "Unknown rhoCombustionModel type "
+        FatalErrorInFunction
+            << "Unknown rhoCombustionModel type "
             << combTypeName << endl << endl
             << "Valid  combustionModels are : " << endl
             << dictionaryConstructorTablePtr_->toc()
diff --git a/src/combustionModels/singleStepCombustion/singleStepCombustion.C b/src/combustionModels/singleStepCombustion/singleStepCombustion.C
index 65a41fcada6..0f6dd8adc52 100644
--- a/src/combustionModels/singleStepCombustion/singleStepCombustion.C
+++ b/src/combustionModels/singleStepCombustion/singleStepCombustion.C
@@ -68,16 +68,7 @@ singleStepCombustion<CombThermoType, ThermoType>::singleStepCombustion
     }
     else
     {
-        FatalErrorIn
-        (
-            "singleStepCombustion<CombThermoType, ThermoType>::"
-            "singleStepCombustion"
-            "("
-                "const word&, "
-                "const fvMesh& "
-                "const word&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Inconsistent thermo package for " << this->type() << " model:\n"
             << "    " << this->thermo().type() << nl << nl
             << "Please select a thermo package based on "
diff --git a/src/conversion/ensight/part/ensightPart.C b/src/conversion/ensight/part/ensightPart.C
index fa89a8cafe6..a8a02535d03 100644
--- a/src/conversion/ensight/part/ensightPart.C
+++ b/src/conversion/ensight/part/ensightPart.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -136,9 +136,8 @@ Foam::autoPtr<Foam::ensightPart> Foam::ensightPart::New(Istream& is)
 
     if (cstrIter == istreamConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "ensightPart::New(Istream&)",
             is
         )   << "unknown ensightPart type "
             << partType << nl << nl
diff --git a/src/conversion/meshReader/calcPointCells.C b/src/conversion/meshReader/calcPointCells.C
index 4da904faa71..fab62003b60 100644
--- a/src/conversion/meshReader/calcPointCells.C
+++ b/src/conversion/meshReader/calcPointCells.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -37,7 +37,7 @@ void Foam::meshReader::calcPointCells() const
 
     if (pointCellsPtr_)
     {
-        FatalErrorIn("meshReader::calcPointCells() const")
+        FatalErrorInFunction
             << "pointCells already calculated"
             << abort(FatalError);
     }
diff --git a/src/conversion/meshReader/createPolyCells.C b/src/conversion/meshReader/createPolyCells.C
index 028313ce9e7..deebfc12aa1 100644
--- a/src/conversion/meshReader/createPolyCells.C
+++ b/src/conversion/meshReader/createPolyCells.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -310,7 +310,7 @@ void Foam::meshReader::createPolyCells()
             }
             else
             {
-              FatalErrorIn("meshReader::createPolyCells()")
+              FatalErrorInFunction
                   << "Error in internal face insertion"
                   << abort(FatalError);
             }
diff --git a/src/conversion/meshReader/starcd/STARCDMeshReader.C b/src/conversion/meshReader/starcd/STARCDMeshReader.C
index 3e3e94383b4..5ba8c7abc9b 100644
--- a/src/conversion/meshReader/starcd/STARCDMeshReader.C
+++ b/src/conversion/meshReader/starcd/STARCDMeshReader.C
@@ -69,8 +69,7 @@ bool Foam::meshReaders::STARCD::readHeader(IFstream& is, word fileSignature)
 {
     if (!is.good())
     {
-        FatalErrorIn("meshReaders::STARCD::readHeader()")
-            << "cannot read " << fileSignature  << "  " << is.name()
+        FatalErrorInFunction
             << abort(FatalError);
     }
 
@@ -194,7 +193,7 @@ void Foam::meshReaders::STARCD::readPoints
     }
     else
     {
-        FatalErrorIn("meshReaders::STARCD::readPoints()")
+        FatalErrorInFunction
             << "no points in file " << inputName
             << abort(FatalError);
     }
@@ -366,7 +365,7 @@ void Foam::meshReaders::STARCD::readCells(const fileName& inputName)
     // construct cellFaces_ and possibly cellShapes_
     if (nCells <= 0)
     {
-        FatalErrorIn("meshReaders::STARCD::readCells()")
+        FatalErrorInFunction
             << "no cells in file " << inputName
             << abort(FatalError);
     }
@@ -533,7 +532,7 @@ void Foam::meshReaders::STARCD::readCells(const fileName& inputName)
 
                 if (nFaces < 4)
                 {
-                    FatalErrorIn("meshReaders::STARCD::readCells()")
+                    FatalErrorInFunction
                         << "star cell " << starCellId << " has " << nFaces
                         << abort(FatalError);
                 }
@@ -597,7 +596,7 @@ void Foam::meshReaders::STARCD::readCells(const fileName& inputName)
 
     if (unknownVertices)
     {
-        FatalErrorIn("meshReaders::STARCD::readCells()")
+        FatalErrorInFunction
             << "cells with unknown vertices"
             << abort(FatalError);
     }
diff --git a/src/conversion/meshWriter/starcd/STARCDMeshWriter.C b/src/conversion/meshWriter/starcd/STARCDMeshWriter.C
index 08383060e14..a308dfbc545 100644
--- a/src/conversion/meshWriter/starcd/STARCDMeshWriter.C
+++ b/src/conversion/meshWriter/starcd/STARCDMeshWriter.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -98,7 +98,7 @@ void Foam::meshWriters::STARCD::getCellTable()
         }
         else
         {
-            WarningIn("STARCD::getCellTable()")
+            WarningInFunction
                 << ioList.objectPath() << " has incorrect number of cells "
                 << " - use cellZone information"
                 << endl;
diff --git a/src/conversion/polyDualMesh/polyDualMesh.C b/src/conversion/polyDualMesh/polyDualMesh.C
index 9ed6be4c8ff..ed76d92d722 100644
--- a/src/conversion/polyDualMesh/polyDualMesh.C
+++ b/src/conversion/polyDualMesh/polyDualMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -125,11 +125,8 @@ Foam::labelList Foam::polyDualMesh::getFaceOrder
     {
         if (oldToNew[faceI] == -1)
         {
-            FatalErrorIn
-            (
-                "polyDualMesh::getFaceOrder"
-                "(const labelList&, const labelList&, const label) const"
-            )   << "Did not determine new position"
+            FatalErrorInFunction
+                << "Did not determine new position"
                 << " for face " << faceI
                 << abort(FatalError);
         }
@@ -205,7 +202,7 @@ void Foam::polyDualMesh::getPointEdges
         }
     }
 
-    FatalErrorIn("getPointEdges") << "Cannot find two edges on face:" << faceI
+    FatalErrorInFunction
         << " vertices:" << patch.localFaces()[faceI]
         << " that uses point:" << pointI
         << abort(FatalError);
@@ -247,7 +244,7 @@ Foam::labelList Foam::polyDualMesh::collectPatchSideFace
     // Store dual vertex for starting edge.
     if (edgeToDualPoint[patch.meshEdges()[edgeI]] < 0)
     {
-        FatalErrorIn("polyDualMesh::collectPatchSideFace") << edgeI
+        FatalErrorInFunction
             << abort(FatalError);
     }
 
@@ -761,11 +758,8 @@ void Foam::polyDualMesh::calcDual
         {
             nonManifoldPoints.write();
 
-            FatalErrorIn
-            (
-                "polyDualMesh::calcDual(const polyMesh&, const labelList&"
-                ", const labelList&)"
-            )   << "There are " << nonManifoldPoints.size() << " points where"
+            FatalErrorInFunction
+                << "There are " << nonManifoldPoints.size() << " points where"
                 << " the outside of the mesh is non-manifold." << nl
                 << "Such a mesh cannot be converted to a dual." << nl
                 << "Writing points at non-manifold sites to pointSet "
@@ -918,7 +912,7 @@ void Foam::polyDualMesh::calcDual
 
         if (patchFaces.size() != 2)
         {
-            FatalErrorIn("polyDualMesh::calcDual")
+            FatalErrorInFunction
                 << "Cannot handle edges with " << patchFaces.size()
                 << " connected boundary faces."
                 << abort(FatalError);
@@ -1018,7 +1012,7 @@ void Foam::polyDualMesh::calcDual
             vector n = f.normal(dualPoints);
             if (((mesh.points()[owner] - dualPoints[f[0]]) & n) > 0)
             {
-                WarningIn("calcDual") << "Incorrect orientation"
+                WarningInFunction
                     << " on boundary edge:" << edgeI
                     << mesh.points()[mesh.edges()[edgeI][0]]
                     << mesh.points()[mesh.edges()[edgeI][1]]
@@ -1133,7 +1127,7 @@ void Foam::polyDualMesh::calcDual
                 vector n = f.normal(dualPoints);
                 if (((mesh.points()[owner] - dualPoints[f[0]]) & n) > 0)
                 {
-                    WarningIn("calcDual") << "Incorrect orientation"
+                    WarningInFunction
                         << " on internal edge:" << edgeI
                         << mesh.points()[mesh.edges()[edgeI][0]]
                         << mesh.points()[mesh.edges()[edgeI][1]]
@@ -1537,7 +1531,7 @@ void Foam::polyDualMesh::calcFeatures
             // Non-manifold. Problem?
             const edge& e = allBoundary.edges()[edgeI];
 
-            WarningIn("polyDualMesh::calcFeatures") << "Edge "
+            WarningInFunction
                 << meshPoints[e[0]] << ' ' << meshPoints[e[1]]
                 << "  coords:" << mesh.points()[meshPoints[e[0]]]
                 << mesh.points()[meshPoints[e[1]]]
diff --git a/src/dummyThirdParty/MGridGen/dummyMGridGen.C b/src/dummyThirdParty/MGridGen/dummyMGridGen.C
index 566c64d9973..fe1cca6828f 100644
--- a/src/dummyThirdParty/MGridGen/dummyMGridGen.C
+++ b/src/dummyThirdParty/MGridGen/dummyMGridGen.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,7 +49,7 @@ extern "C"
 void MGridGen(int, idxtype *, realtype *, realtype *, idxtype *, realtype *,
               int, int, int *, int *, int *, idxtype *)
 {
-    FatalErrorIn("MGridGen(..)")
+    FatalErrorInFunction
         << notImplementedMessage
         << Foam::exit(Foam::FatalError);
 }
diff --git a/src/dummyThirdParty/metisDecomp/dummyMetisDecomp.C b/src/dummyThirdParty/metisDecomp/dummyMetisDecomp.C
index 438e158df9a..ffe80489d7a 100644
--- a/src/dummyThirdParty/metisDecomp/dummyMetisDecomp.C
+++ b/src/dummyThirdParty/metisDecomp/dummyMetisDecomp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,16 +63,8 @@ Foam::label Foam::metisDecomp::decompose
     List<label>& finalDecomp
 )
 {
-    FatalErrorIn
-    (
-        "labelList metisDecomp::decompose"
-        "("
-            "const List<label>&, "
-            "const List<label>&, "
-            "const scalarField&, "
-            "List<label>&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return -1;
 }
@@ -98,14 +90,8 @@ Foam::labelList Foam::metisDecomp::decompose
     const scalarField& pointWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList metisDecomp::decompose"
-        "("
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList();
 }
@@ -119,15 +105,8 @@ Foam::labelList Foam::metisDecomp::decompose
     const scalarField& agglomWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList metisDecomp::decompose"
-        "("
-            "const labelList&, "
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList();
 }
@@ -140,15 +119,8 @@ Foam::labelList Foam::metisDecomp::decompose
     const scalarField& cellWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList metisDecomp::decompose"
-        "("
-            "const labelListList&, "
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList();
 }
diff --git a/src/dummyThirdParty/ptscotchDecomp/dummyPtscotchDecomp.C b/src/dummyThirdParty/ptscotchDecomp/dummyPtscotchDecomp.C
index e9b05babb70..719e6b6d118 100644
--- a/src/dummyThirdParty/ptscotchDecomp/dummyPtscotchDecomp.C
+++ b/src/dummyThirdParty/ptscotchDecomp/dummyPtscotchDecomp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -68,17 +68,8 @@ Foam::label Foam::ptscotchDecomp::decompose
     List<label>& finalDecomp
 ) const
 {
-    FatalErrorIn
-    (
-        "label ptscotchDecomp::decompose"
-        "("
-            "onst fileName&,"
-            "const List<label>&, "
-            "const List<label>&, "
-            "const scalarField&, "
-            "List<label>&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return -1;
 }
@@ -95,19 +86,8 @@ Foam::label Foam::ptscotchDecomp::decompose
     List<label>& finalDecomp
 ) const
 {
-    FatalErrorIn
-    (
-        "label ptscotchDecomp::decompose"
-        "("
-            "const fileName&,"
-            "const int,"
-            "const int,"
-            "const int,"
-            "const int,"
-            "const scalarField&,"
-            "List<label>&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return -1;
 }
@@ -133,14 +113,8 @@ Foam::labelList Foam::ptscotchDecomp::decompose
     const scalarField& pointWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList ptscotchDecomp::decompose"
-        "("
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList::null();
 }
@@ -154,15 +128,8 @@ Foam::labelList Foam::ptscotchDecomp::decompose
     const scalarField& pointWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList ptscotchDecomp::decompose"
-        "("
-            "const labelList&, "
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList::null();
 }
@@ -175,15 +142,8 @@ Foam::labelList Foam::ptscotchDecomp::decompose
     const scalarField& cWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList ptscotchDecomp::decompose"
-        "("
-            "const labelListList&, "
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList::null();
 }
diff --git a/src/dummyThirdParty/scotchDecomp/dummyScotchDecomp.C b/src/dummyThirdParty/scotchDecomp/dummyScotchDecomp.C
index 3929b7a0c1d..737196be164 100644
--- a/src/dummyThirdParty/scotchDecomp/dummyScotchDecomp.C
+++ b/src/dummyThirdParty/scotchDecomp/dummyScotchDecomp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -67,17 +67,8 @@ Foam::label Foam::scotchDecomp::decompose
     List<label>& finalDecomp
 )
 {
-    FatalErrorIn
-    (
-        "label scotchDecomp::decompose\n"
-        "(\n"
-            "const fileName& meshPath,\n"
-            "const List<label>&,\n"
-            "const List<label>&,\n"
-            "const scalarField&,\n"
-            "List<label>&\n"
-        ")\n"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return -1;
 }
@@ -103,14 +94,8 @@ Foam::labelList Foam::scotchDecomp::decompose
     const scalarField& pointWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList scotchDecomp::decompose"
-        "("
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList::null();
 }
@@ -124,15 +109,8 @@ Foam::labelList Foam::scotchDecomp::decompose
     const scalarField& pointWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList scotchDecomp::decompose"
-        "("
-            "const labelList&, "
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList::null();
 }
@@ -145,15 +123,8 @@ Foam::labelList Foam::scotchDecomp::decompose
     const scalarField& cWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList scotchDecomp::decompose"
-        "("
-            "const labelListList&, "
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList::null();
 }
diff --git a/src/dynamicFvMesh/dynamicFvMesh/dynamicFvMeshNew.C b/src/dynamicFvMesh/dynamicFvMesh/dynamicFvMeshNew.C
index f1a70cb97b1..fa05cc2a599 100644
--- a/src/dynamicFvMesh/dynamicFvMesh/dynamicFvMeshNew.C
+++ b/src/dynamicFvMesh/dynamicFvMesh/dynamicFvMeshNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,10 +63,8 @@ Foam::autoPtr<Foam::dynamicFvMesh> Foam::dynamicFvMesh::New(const IOobject& io)
 
     if (!IOobjectConstructorTablePtr_)
     {
-        FatalErrorIn
-        (
-            "dynamicFvMesh::New(const IOobject&)"
-        )   << "dynamicFvMesh table is empty"
+        FatalErrorInFunction
+            << "dynamicFvMesh table is empty"
             << exit(FatalError);
     }
 
@@ -75,10 +73,8 @@ Foam::autoPtr<Foam::dynamicFvMesh> Foam::dynamicFvMesh::New(const IOobject& io)
 
     if (cstrIter == IOobjectConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "dynamicFvMesh::New(const IOobject&)"
-        )   << "Unknown dynamicFvMesh type "
+        FatalErrorInFunction
+            << "Unknown dynamicFvMesh type "
             << dynamicFvMeshTypeName << nl << nl
             << "Valid dynamicFvMesh types are :" << endl
             << IOobjectConstructorTablePtr_->sortedToc()
diff --git a/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C b/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C
index ad64e1ca402..d7daba5486a 100644
--- a/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C
+++ b/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C
@@ -241,7 +241,7 @@ Foam::dynamicRefineFvMesh::refine
 
             if (oldFaceI >= nInternalFaces())
             {
-                FatalErrorIn("dynamicRefineFvMesh::refine(const labelList&)")
+                FatalErrorInFunction
                     << "New internal face:" << faceI
                     << " fc:" << faceCentres()[faceI]
                     << " originates from boundary oldFace:" << oldFaceI
@@ -294,10 +294,8 @@ Foam::dynamicRefineFvMesh::refine
 
                 if (masterFaceI < 0)
                 {
-                    FatalErrorIn
-                    (
-                        "dynamicRefineFvMesh::refine(const labelList&)"
-                    )   << "Problem: should not have removed faces"
+                    FatalErrorInFunction
+                        << "Problem: should not have removed faces"
                         << " when refining."
                         << nl << "face:" << faceI << abort(FatalError);
                 }
@@ -320,7 +318,7 @@ Foam::dynamicRefineFvMesh::refine
         {
             if (!correctFluxes_.found(iter.key()))
             {
-                WarningIn("dynamicRefineFvMesh::refine(const labelList&)")
+                WarningInFunction
                     << "Cannot find surfaceScalarField " << iter.key()
                     << " in user-provided flux mapping table "
                     << correctFluxes_ << endl
@@ -549,7 +547,7 @@ Foam::dynamicRefineFvMesh::unrefine
         {
             if (!correctFluxes_.found(iter.key()))
             {
-                WarningIn("dynamicRefineFvMesh::refine(const labelList&)")
+                WarningInFunction
                     << "Cannot find surfaceScalarField " << iter.key()
                     << " in user-provided flux mapping table "
                     << correctFluxes_ << endl
@@ -1227,7 +1225,7 @@ bool Foam::dynamicRefineFvMesh::update()
     }
     else if (refineInterval < 0)
     {
-        FatalErrorIn("dynamicRefineFvMesh::update()")
+        FatalErrorInFunction
             << "Illegal refineInterval " << refineInterval << nl
             << "The refineInterval setting in the dynamicMeshDict should"
             << " be >= 1." << nl
@@ -1246,7 +1244,7 @@ bool Foam::dynamicRefineFvMesh::update()
 
         if (maxCells <= 0)
         {
-            FatalErrorIn("dynamicRefineFvMesh::update()")
+            FatalErrorInFunction
                 << "Illegal maximum number of cells " << maxCells << nl
                 << "The maxCells setting in the dynamicMeshDict should"
                 << " be > 0." << nl
@@ -1257,7 +1255,7 @@ bool Foam::dynamicRefineFvMesh::update()
 
         if (maxRefinement <= 0)
         {
-            FatalErrorIn("dynamicRefineFvMesh::update()")
+            FatalErrorInFunction
                 << "Illegal maximum refinement level " << maxRefinement << nl
                 << "The maxCells setting in the dynamicMeshDict should"
                 << " be > 0." << nl
diff --git a/src/dynamicFvMesh/solidBodyMotionFvMesh/multiSolidBodyMotionFvMesh.C b/src/dynamicFvMesh/solidBodyMotionFvMesh/multiSolidBodyMotionFvMesh.C
index d5d37fc4bce..4051f7a7ea4 100644
--- a/src/dynamicFvMesh/solidBodyMotionFvMesh/multiSolidBodyMotionFvMesh.C
+++ b/src/dynamicFvMesh/solidBodyMotionFvMesh/multiSolidBodyMotionFvMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -81,10 +81,8 @@ Foam::multiSolidBodyMotionFvMesh::multiSolidBodyMotionFvMesh(const IOobject& io)
 {
     if (undisplacedPoints_.size() != nPoints())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "multiSolidBodyMotionFvMesh::multiSolidBodyMotionFvMesh"
-            "(const IOobject&)",
             dynamicMeshCoeffs_
         )   << "Read " << undisplacedPoints_.size()
             << " undisplaced points from " << undisplacedPoints_.objectPath()
@@ -106,10 +104,8 @@ Foam::multiSolidBodyMotionFvMesh::multiSolidBodyMotionFvMesh(const IOobject& io)
 
             if (zoneIDs_[zoneI] == -1)
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "multiSolidBodyMotionFvMesh::"
-                    "multiSolidBodyMotionFvMesh(const IOobject&)",
                     dynamicMeshCoeffs_
                 )   << "Cannot find cellZone named " << iter().keyword()
                     << ". Valid zones are " << cellZones().names()
@@ -207,7 +203,7 @@ bool Foam::multiSolidBodyMotionFvMesh::update()
     {
         hasWarned = true;
 
-        WarningIn("multiSolidBodyMotionFvMesh::update()")
+        WarningInFunction
             << "Did not find volVectorField U."
             << " Not updating U boundary conditions." << endl;
     }
diff --git a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C
index 283657c5f2c..b0f0921750a 100644
--- a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C
+++ b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,14 +42,8 @@ Foam::autoPtr<Foam::solidBodyMotionFunction> Foam::solidBodyMotionFunction::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "solidBodyMotionFunction::New"
-            "("
-            "    const dictionary& SBMFCoeffs,"
-            "    const Time& runTime"
-            ")"
-        )   << "Unknown solidBodyMotionFunction type "
+        FatalErrorInFunction
+            << "Unknown solidBodyMotionFunction type "
             << motionType << nl << nl
             << "Valid solidBodyMotionFunctions are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C
index c763c9917af..2410e72f04d 100644
--- a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C
+++ b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C
@@ -78,10 +78,8 @@ Foam::solidBodyMotionFunctions::tabulated6DoFMotion::transformation() const
 
     if (t < times_[0])
     {
-        FatalErrorIn
-        (
-            "solidBodyMotionFunctions::tabulated6DoFMotion::transformation()"
-        )   << "current time (" << t
+        FatalErrorInFunction
+            << "current time (" << t
             << ") is less than the minimum in the data table ("
             << times_[0] << ')'
             << exit(FatalError);
@@ -89,10 +87,8 @@ Foam::solidBodyMotionFunctions::tabulated6DoFMotion::transformation() const
 
     if (t > times_.last())
     {
-        FatalErrorIn
-        (
-            "solidBodyMotionFunctions::tabulated6DoFMotion::transformation()"
-        )   << "current time (" << t
+        FatalErrorInFunction
+            << "current time (" << t
             << ") is greater than the maximum in the data table ("
             << times_.last() << ')'
             << exit(FatalError);
@@ -156,11 +152,8 @@ bool Foam::solidBodyMotionFunctions::tabulated6DoFMotion::read
         }
         else
         {
-            FatalErrorIn
-            (
-                "solidBodyMotionFunctions::tabulated6DoFMotion::read"
-                "(const dictionary&)"
-            )   << "Cannot open time data file " << timeDataFileName_
+            FatalErrorInFunction
+                << "Cannot open time data file " << timeDataFileName_
                 << exit(FatalError);
         }
     }
diff --git a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFvMesh.C b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFvMesh.C
index d7118782a51..b12b2414290 100644
--- a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFvMesh.C
+++ b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFvMesh.C
@@ -81,11 +81,8 @@ Foam::solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject& io)
 {
     if (undisplacedPoints_.size() != nPoints())
     {
-        FatalIOErrorIn
-        (
-            "solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject&)",
-            dynamicMeshCoeffs_
-        )   << "Read " << undisplacedPoints_.size()
+        FatalIOErrorInFunction(dynamicMeshCoeffs_)
+            << "Read " << undisplacedPoints_.size()
             << " undisplaced points from " << undisplacedPoints_.objectPath()
             << " but the current mesh has " << nPoints()
             << exit(FatalIOError);
@@ -99,11 +96,7 @@ Foam::solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject& io)
 
     if ((cellZoneName != "none") && (cellSetName != "none"))
     {
-        FatalIOErrorIn
-        (
-            "solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject&)",
-            dynamicMeshCoeffs_
-        )
+        FatalIOErrorInFunction(dynamicMeshCoeffs_)
             << "Either cellZone OR cellSet can be supplied, but not both. "
             << "If neither is supplied, all cells will be included"
             << exit(FatalIOError);
@@ -120,10 +113,8 @@ Foam::solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject& io)
 
         if (zoneID == -1)
         {
-            FatalErrorIn
-            (
-                "solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject&)"
-            )   << "Unable to find cellZone " << cellZoneName
+            FatalErrorInFunction
+                << "Unable to find cellZone " << cellZoneName
                 << ".  Valid cellZones are:"
                 << cellZones().names()
                 << exit(FatalError);
@@ -234,7 +225,7 @@ bool Foam::solidBodyMotionFvMesh::update()
     {
         hasWarned = true;
 
-        WarningIn("solidBodyMotionFvMesh::update()")
+        WarningInFunction
             << "Did not find volVectorField " << UName_
             << " Not updating " << UName_ << "boundary conditions."
             << endl;
diff --git a/src/dynamicMesh/attachDetach/attachDetach.C b/src/dynamicMesh/attachDetach/attachDetach.C
index 6c71ded4e54..4627bf6d700 100644
--- a/src/dynamicMesh/attachDetach/attachDetach.C
+++ b/src/dynamicMesh/attachDetach/attachDetach.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -61,10 +61,8 @@ void Foam::attachDetach::checkDefinition()
      || !slavePatchID_.active()
     )
     {
-        FatalErrorIn
-        (
-            "void Foam::attachDetach::checkDefinition()"
-        )   << "Not all zones and patches needed in the definition "
+        FatalErrorInFunction
+            << "Not all zones and patches needed in the definition "
             << "have been found.  Please check your mesh definition."
             << abort(FatalError);
     }
@@ -97,10 +95,7 @@ void Foam::attachDetach::checkDefinition()
         // Check if there are faces in the master zone
         if (mesh.faceZones()[faceZoneID_.index()].empty())
         {
-            FatalErrorIn
-            (
-                "void Foam::attachDetach::checkDefinition()"
-            )   << "Attach/detach zone contains no faces.  Please check your "
+            FatalErrorInFunction
                 << "mesh definition."
                 << abort(FatalError);
         }
@@ -122,10 +117,8 @@ void Foam::attachDetach::checkDefinition()
 
             if (bouFacesInZone.size())
             {
-                FatalErrorIn
-                (
-                    "void Foam::attachDetach::checkDefinition()"
-                )   << "Found boundary faces in the zone defining "
+                FatalErrorInFunction
+                    << "Found boundary faces in the zone defining "
                     << "attach/detach boundary "
                     << " for object " << name()
                     << " : .  This is not allowed." << nl
@@ -158,10 +151,8 @@ void Foam::attachDetach::checkDefinition()
             )
         )
         {
-            FatalErrorIn
-            (
-                "void Foam::attachDetach::checkDefinition()"
-            )   << "Problem with sizes in mesh modifier. The face zone,"
+            FatalErrorInFunction
+                << "Problem with sizes in mesh modifier. The face zone,"
                 << " master and slave patch should have the same size"
                 << " for object " << name() << ". " << nl
                 << "Zone size: "
@@ -197,10 +188,8 @@ void Foam::attachDetach::checkDefinition()
 
             if (zoneProblemFaces.size())
             {
-                FatalErrorIn
-                (
-                    "void Foam::attachDetach::checkDefinition()"
-                )   << "Found faces in the zone defining "
+                FatalErrorInFunction
+                    << "Found faces in the zone defining "
                     << "attach/detach boundary which do not belong to "
                     << "either master or slave patch.  "
                     << "This is not allowed." << nl
@@ -224,10 +213,8 @@ void Foam::attachDetach::checkDefinition()
      || (triggerTimes_.empty() && !manualTrigger())
     )
     {
-        FatalErrorIn
-        (
-            "void Foam::attachDetach::checkDefinition()"
-        )   << "Problem with definition of trigger times: "
+        FatalErrorInFunction
+            << "Problem with definition of trigger times: "
             << triggerTimes_
             << abort(FatalError);
     }
@@ -439,10 +426,8 @@ void Foam::attachDetach::setRefinement(polyTopoChange& ref) const
         }
         else
         {
-            FatalErrorIn
-            (
-                "void attachDetach::setRefinement(polyTopoChange&) const"
-            )   << "Requested attach/detach event and currect state "
+            FatalErrorInFunction
+                << "Requested attach/detach event and currect state "
                 << "is not known."
                 << abort(FatalError);
         }
diff --git a/src/dynamicMesh/attachDetach/attachDetachPointMatchMap.C b/src/dynamicMesh/attachDetach/attachDetachPointMatchMap.C
index 4a22c0d858d..cb1eadf6a65 100644
--- a/src/dynamicMesh/attachDetach/attachDetachPointMatchMap.C
+++ b/src/dynamicMesh/attachDetach/attachDetachPointMatchMap.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,10 +54,8 @@ void Foam::attachDetach::calcPointMatchMap() const
 
     if (pointMatchMapPtr_)
     {
-        FatalErrorIn
-        (
-            "void attachDetach::calcPointMatchMap() const"
-        )   << "Point match map already calculated for object " << name()
+        FatalErrorInFunction
+            << "Point match map already calculated for object " << name()
             << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/attachDetach/detachInterface.C b/src/dynamicMesh/attachDetach/detachInterface.C
index 63ae360d51d..e457967b073 100644
--- a/src/dynamicMesh/attachDetach/detachInterface.C
+++ b/src/dynamicMesh/attachDetach/detachInterface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -84,11 +84,8 @@ void Foam::attachDetach::detachInterface
             {
                 if (faceLabels[i] <= faceLabels[i-1])
                 {
-                    FatalErrorIn
-                    (
-                        "attachDetach::detachInterface"
-                        "(polyTopoChange&) const"
-                    )   << "faceZone " << zoneMesh[faceZoneID_.index()].name()
+                    FatalErrorInFunction
+                        << "faceZone " << zoneMesh[faceZoneID_.index()].name()
                         << " does not have mesh face labels in"
                         << " increasing order." << endl
                         << "Face label " << faceLabels[i]
diff --git a/src/dynamicMesh/boundaryMesh/boundaryMesh.C b/src/dynamicMesh/boundaryMesh/boundaryMesh.C
index ad204d7c157..12769005886 100644
--- a/src/dynamicMesh/boundaryMesh/boundaryMesh.C
+++ b/src/dynamicMesh/boundaryMesh/boundaryMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -157,7 +157,7 @@ Foam::labelList Foam::boundaryMesh::collectSegment
 
         if (featI == -1)
         {
-            FatalErrorIn("boundaryMesh::collectSegment")
+            FatalErrorInFunction
                 << "Problem" << abort(FatalError);
         }
         featLabels[featLabelI++] = featI;
@@ -1544,7 +1544,7 @@ Foam::label Foam::boundaryMesh::whichPatch(const label faceI) const
         }
     }
 
-    FatalErrorIn("boundaryMesh::whichPatch(const label)")
+    FatalErrorInFunction
         << "Cannot find face " << faceI << " in list of boundaryPatches "
         << patches_
         << abort(FatalError);
@@ -1610,14 +1610,14 @@ void Foam::boundaryMesh::deletePatch(const word& patchName)
 
     if (delPatchI == -1)
     {
-        FatalErrorIn("boundaryMesh::deletePatch(const word&")
+        FatalErrorInFunction
             << "Can't find patch named " << patchName
             << abort(FatalError);
     }
 
     if (patches_[delPatchI].size())
     {
-        FatalErrorIn("boundaryMesh::deletePatch(const word&")
+        FatalErrorInFunction
             << "Trying to delete non-empty patch " << patchName
             << endl << "Current size:" << patches_[delPatchI].size()
             << abort(FatalError);
@@ -1669,7 +1669,7 @@ void Foam::boundaryMesh::changePatchType
 
     if (changeI == -1)
     {
-        FatalErrorIn("boundaryMesh::changePatchType(const word&, const word&)")
+        FatalErrorInFunction
             << "Can't find patch named " << patchName
             << abort(FatalError);
     }
@@ -1718,7 +1718,7 @@ void Foam::boundaryMesh::changeFaces
 {
     if (patchIDs.size() != mesh().size())
     {
-        FatalErrorIn("boundaryMesh::changeFaces(const labelList& patchIDs)")
+        FatalErrorInFunction
             << "List of patchIDs not equal to number of faces." << endl
             << "PatchIDs size:" << patchIDs.size()
             << " nFaces::" << mesh().size()
@@ -1735,7 +1735,7 @@ void Foam::boundaryMesh::changeFaces
 
         if (patchID < 0 || patchID >= patches_.size())
         {
-            FatalErrorIn("boundaryMesh::changeFaces(const labelList&)")
+            FatalErrorInFunction
                 << "PatchID " << patchID << " out of range"
                 << abort(FatalError);
         }
diff --git a/src/dynamicMesh/boundaryMesh/boundaryMesh.H b/src/dynamicMesh/boundaryMesh/boundaryMesh.H
index d6eca3f7709..37fd4c64d48 100644
--- a/src/dynamicMesh/boundaryMesh/boundaryMesh.H
+++ b/src/dynamicMesh/boundaryMesh/boundaryMesh.H
@@ -204,7 +204,7 @@ public:
             {
                 if (!meshPtr_)
                 {
-                    FatalErrorIn("boundaryMesh::mesh()")
+                    FatalErrorInFunction
                         << "No mesh available. Probably mesh not yet"
                         << " read." << abort(FatalError);
                 }
diff --git a/src/dynamicMesh/createShellMesh/createShellMesh.C b/src/dynamicMesh/createShellMesh/createShellMesh.C
index e6356ff66fc..7d2d36d1dc6 100644
--- a/src/dynamicMesh/createShellMesh/createShellMesh.C
+++ b/src/dynamicMesh/createShellMesh/createShellMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -432,7 +432,7 @@ Foam::createShellMesh::createShellMesh
 {
     if (pointRegions_.size() != patch_.size())
     {
-        FatalErrorIn("createShellMesh::createShellMesh(..)")
+        FatalErrorInFunction
             << "nFaces:" << patch_.size()
             << " pointRegions:" << pointRegions.size()
             << exit(FatalError);
@@ -455,7 +455,7 @@ void Foam::createShellMesh::setRefinement
 {
     if (firstLayerDisp.size() != regionPoints_.size())
     {
-        FatalErrorIn("createShellMesh::setRefinement(..)")
+        FatalErrorInFunction
             << "nRegions:" << regionPoints_.size()
             << " firstLayerDisp:" << firstLayerDisp.size()
             << exit(FatalError);
@@ -467,7 +467,7 @@ void Foam::createShellMesh::setRefinement
      && bottomPatchID.size() != patch_.size()
     )
     {
-        FatalErrorIn("createShellMesh::setRefinement(..)")
+        FatalErrorInFunction
             << "nFaces:" << patch_.size()
             << " topPatchID:" << topPatchID.size()
             << " bottomPatchID:" << bottomPatchID.size()
@@ -476,7 +476,7 @@ void Foam::createShellMesh::setRefinement
 
     if (extrudeEdgePatches.size() != patch_.nEdges())
     {
-        FatalErrorIn("createShellMesh::setRefinement(..)")
+        FatalErrorInFunction
             << "nEdges:" << patch_.nEdges()
             << " extrudeEdgePatches:" << extrudeEdgePatches.size()
             << exit(FatalError);
@@ -672,7 +672,7 @@ void Foam::createShellMesh::setRefinement
             // Internal face
             if (eFaces.size() != 2)
             {
-                FatalErrorIn("createShellMesh::setRefinement(..)")
+                FatalErrorInFunction
                     << "edge:" << edgeI
                     << " not internal but does not have side-patches defined."
                     << exit(FatalError);
@@ -682,7 +682,7 @@ void Foam::createShellMesh::setRefinement
         {
             if (eFaces.size() != ePatches.size())
             {
-                FatalErrorIn("createShellMesh::setRefinement(..)")
+                FatalErrorInFunction
                     << "external/feature edge:" << edgeI
                     << " has " << eFaces.size() << " connected extruded faces "
                     << " but only " << ePatches.size()
diff --git a/src/dynamicMesh/fvMeshAdder/fvMeshAdderTemplates.C b/src/dynamicMesh/fvMeshAdder/fvMeshAdderTemplates.C
index 296bb3c513d..b7d579d928b 100644
--- a/src/dynamicMesh/fvMeshAdder/fvMeshAdderTemplates.C
+++ b/src/dynamicMesh/fvMeshAdder/fvMeshAdderTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -308,7 +308,7 @@ void Foam::fvMeshAdder::MapVolFields
         }
         else
         {
-            WarningIn("fvMeshAdder::MapVolFields(..)")
+            WarningInFunction
                 << "Not mapping field " << fld.name()
                 << " since not present on mesh to add"
                 << endl;
@@ -608,7 +608,7 @@ void Foam::fvMeshAdder::MapSurfaceFields
         }
         else
         {
-            WarningIn("fvMeshAdder::MapSurfaceFields(..)")
+            WarningInFunction
                 << "Not mapping field " << fld.name()
                 << " since not present on mesh to add"
                 << endl;
diff --git a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
index 31619469d10..025c378edfa 100644
--- a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
+++ b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -98,7 +98,7 @@ void Foam::fvMeshDistribute::checkEqualWordList
     {
         if (allNames[procI] != allNames[0])
         {
-            FatalErrorIn("fvMeshDistribute::checkEqualWordList(..)")
+            FatalErrorInFunction
                 << "When checking for equal " << msg.c_str() << " :" << endl
                 << "processor0 has:" << allNames[0] << endl
                 << "processor" << procI << " has:" << allNames[procI] << endl
@@ -235,7 +235,7 @@ Foam::label Foam::fvMeshDistribute::findNonEmptyPatch() const
 
     if (nonEmptyPatchI == -1)
     {
-        FatalErrorIn("fvMeshDistribute::findNonEmptyPatch() const")
+        FatalErrorInFunction
             << "Cannot find a patch which is neither of type empty nor"
             << " coupled in patches " << patches.names() << endl
             << "There has to be at least one such patch for"
@@ -263,7 +263,7 @@ Foam::label Foam::fvMeshDistribute::findNonEmptyPatch() const
         }
         else if (procPatchI != -1)
         {
-            FatalErrorIn("fvMeshDistribute::findNonEmptyPatch() const")
+            FatalErrorInFunction
                 << "Processor patches should be at end of patch list."
                 << endl
                 << "Have processor patch " << procPatchI
@@ -443,10 +443,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::fvMeshDistribute::repatch
 
         if (index != -1)
         {
-            FatalErrorIn
-            (
-                "fvMeshDistribute::repatch(const labelList&, labelListList&)"
-            )   << "reverseFaceMap contains -1 at index:"
+            FatalErrorInFunction
+                << "reverseFaceMap contains -1 at index:"
                 << index << endl
                 << "This means that the repatch operation was not just"
                 << " a shuffle?" << abort(FatalError);
@@ -520,7 +518,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::fvMeshDistribute::mergeSharedPoints
             }
             else
             {
-                FatalErrorIn("fvMeshDistribute::mergeSharedPoints()")
+                FatalErrorInFunction
                     << "Problem. oldPointI:" << oldPointI
                     << " newPointI:" << newPointI << abort(FatalError);
             }
@@ -1340,7 +1338,7 @@ Foam::labelList Foam::fvMeshDistribute::countCells
 
         if (newProc < 0 || newProc >= Pstream::nProcs())
         {
-            FatalErrorIn("fvMeshDistribute::distribute(const labelList&)")
+            FatalErrorInFunction
                 << "Distribution should be in range 0.." << Pstream::nProcs()-1
                 << endl
                 << "At index " << cellI << " distribution:" << newProc
@@ -1360,7 +1358,7 @@ Foam::autoPtr<Foam::mapDistributePolyMesh> Foam::fvMeshDistribute::distribute
     // Some checks on distribution
     if (distribution.size() != mesh_.nCells())
     {
-        FatalErrorIn("fvMeshDistribute::distribute(const labelList&)")
+        FatalErrorInFunction
             << "Size of distribution:"
             << distribution.size() << " mesh nCells:" << mesh_.nCells()
             << abort(FatalError);
@@ -1372,7 +1370,7 @@ Foam::autoPtr<Foam::mapDistributePolyMesh> Foam::fvMeshDistribute::distribute
     // Check all processors have same non-proc patches in same order.
     if (patches.checkParallelSync(true))
     {
-        FatalErrorIn("fvMeshDistribute::distribute(const labelList&)")
+        FatalErrorInFunction
             << "This application requires all non-processor patches"
             << " to be present in the same order on all patches" << nl
             << "followed by the processor patches (which of course are unique)."
diff --git a/src/dynamicMesh/fvMeshDistribute/fvMeshDistributeTemplates.C b/src/dynamicMesh/fvMeshDistribute/fvMeshDistributeTemplates.C
index c97df63b4ab..ecddb02f79b 100644
--- a/src/dynamicMesh/fvMeshDistribute/fvMeshDistributeTemplates.C
+++ b/src/dynamicMesh/fvMeshDistribute/fvMeshDistributeTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -104,7 +104,7 @@ void Foam::fvMeshDistribute::mapBoundaryFields
 
     if (flds.size() != oldBflds.size())
     {
-        FatalErrorIn("fvMeshDistribute::mapBoundaryFields(..)") << "problem"
+        FatalErrorInFunction
             << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/fvMeshTools/fvMeshTools.C b/src/dynamicMesh/fvMeshTools/fvMeshTools.C
index 682a96422e7..19e41d1558b 100644
--- a/src/dynamicMesh/fvMeshTools/fvMeshTools.C
+++ b/src/dynamicMesh/fvMeshTools/fvMeshTools.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -282,7 +282,7 @@ void Foam::fvMeshTools::trimPatches(fvMesh& mesh, const label nPatches)
 
     if (polyPatches.empty())
     {
-        FatalErrorIn("fvMeshTools::trimPatches(fvMesh&, const label)")
+        FatalErrorInFunction
             << "No patches in mesh"
             << abort(FatalError);
     }
@@ -296,7 +296,7 @@ void Foam::fvMeshTools::trimPatches(fvMesh& mesh, const label nPatches)
 
     if (nFaces)
     {
-        FatalErrorIn("fvMeshTools::trimPatches(fvMesh&, const label)")
+        FatalErrorInFunction
             << "There are still " << nFaces
             << " faces in " << polyPatches.size()-nPatches
             << " patches to be deleted" << abort(FatalError);
diff --git a/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C b/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C
index 0fffb4aa359..572b8b7d790 100644
--- a/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C
+++ b/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -442,11 +442,8 @@ void Foam::layerAdditionRemoval::addCellLayer
 
         if (patchID < 0)
         {
-            FatalErrorIn
-            (
-                "void Foam::layerAdditionRemoval::setRefinement("
-                "polyTopoChange& ref)"
-            )   << "Cannot find patch for edge " << meshEdges[curEdgeID]
+            FatalErrorInFunction
+                << "Cannot find patch for edge " << meshEdges[curEdgeID]
                 << ". Edge: " << mesh.edges()[meshEdges[curEdgeID]]
                 << abort(FatalError);
         }
diff --git a/src/dynamicMesh/layerAdditionRemoval/layerAdditionRemoval.C b/src/dynamicMesh/layerAdditionRemoval/layerAdditionRemoval.C
index a1a8d228466..0ea18976a22 100644
--- a/src/dynamicMesh/layerAdditionRemoval/layerAdditionRemoval.C
+++ b/src/dynamicMesh/layerAdditionRemoval/layerAdditionRemoval.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,7 +58,7 @@ void Foam::layerAdditionRemoval::checkDefinition()
 {
     if (!faceZoneID_.active())
     {
-        FatalErrorIn("void Foam::layerAdditionRemoval::checkDefinition()")
+        FatalErrorInFunction
             << "Master face zone named " << faceZoneID_.name()
             << " cannot be found."
             << abort(FatalError);
@@ -70,10 +70,8 @@ void Foam::layerAdditionRemoval::checkDefinition()
      || maxLayerThickness_ < minLayerThickness_
     )
     {
-        FatalErrorIn
-        (
-            "void Foam::layerAdditionRemoval::checkDefinition()"
-        )   << "Incorrect layer thickness definition."
+        FatalErrorInFunction
+            << "Incorrect layer thickness definition."
             << abort(FatalError);
     }
 
@@ -83,7 +81,7 @@ void Foam::layerAdditionRemoval::checkDefinition()
 
     if (nFaces == 0)
     {
-        FatalErrorIn("void Foam::layerAdditionRemoval::checkDefinition()")
+        FatalErrorInFunction
             << "Face extrusion zone contains no faces. "
             << "Please check your mesh definition."
             << abort(FatalError);
@@ -222,7 +220,7 @@ bool Foam::layerAdditionRemoval::changeTopology() const
 
     if (min(V) < -VSMALL)
     {
-        FatalErrorIn("bool layerAdditionRemoval::changeTopology() const")
+        FatalErrorInFunction
             << "negative cell volume. Error in mesh motion before "
             << "topological change.\n V: " << V
             << abort(FatalError);
@@ -462,13 +460,8 @@ void Foam::layerAdditionRemoval::setMinLayerThickness(const scalar t) const
 {
     if (t < VSMALL || maxLayerThickness_ < t)
     {
-        FatalErrorIn
-        (
-            "void layerAdditionRemoval::setMinLayerThickness"
-            "("
-                "const scalar"
-            ") const"
-        )   << "Incorrect layer thickness definition."
+        FatalErrorInFunction
+            << "Incorrect layer thickness definition."
             << abort(FatalError);
     }
 
@@ -480,13 +473,8 @@ void Foam::layerAdditionRemoval::setMaxLayerThickness(const scalar t) const
 {
     if (t < minLayerThickness_)
     {
-        FatalErrorIn
-        (
-            "void layerAdditionRemoval::setMaxLayerThickness"
-            "("
-                "const scalar"
-            ") const"
-        )   << "Incorrect layer thickness definition."
+        FatalErrorInFunction
+            << "Incorrect layer thickness definition."
             << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/layerAdditionRemoval/setLayerPairing.C b/src/dynamicMesh/layerAdditionRemoval/setLayerPairing.C
index 0e2996e45ec..c4975633f80 100644
--- a/src/dynamicMesh/layerAdditionRemoval/setLayerPairing.C
+++ b/src/dynamicMesh/layerAdditionRemoval/setLayerPairing.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -76,10 +76,8 @@ bool Foam::layerAdditionRemoval::setLayerPairing() const
     // the master patch
     if (pointsPairingPtr_ || facesPairingPtr_)
     {
-        FatalErrorIn
-        (
-            "void Foam::layerAdditionRemoval::setLayerPairing() const"
-        )   << "Problem with layer pairing data"
+        FatalErrorInFunction
+            << "Problem with layer pairing data"
             << abort(FatalError);
     }
 
@@ -189,10 +187,8 @@ const Foam::labelList& Foam::layerAdditionRemoval::pointsPairing() const
 {
     if (!pointsPairingPtr_)
     {
-        FatalErrorIn
-        (
-            "const labelList& layerAdditionRemoval::pointsPairing() const"
-        )   << "Problem with layer pairing data for object " << name()
+        FatalErrorInFunction
+            << "Problem with layer pairing data for object " << name()
             << abort(FatalError);
     }
 
@@ -203,10 +199,8 @@ const Foam::labelList& Foam::layerAdditionRemoval::facesPairing() const
 {
     if (!facesPairingPtr_)
     {
-        FatalErrorIn
-        (
-            "const labelList& layerAdditionRemoval::facesPairing() const"
-        )   << "Problem with layer pairing data for object " << name()
+        FatalErrorInFunction
+            << "Problem with layer pairing data for object " << name()
             << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/meshCut/cellCuts/cellCuts.C b/src/dynamicMesh/meshCut/cellCuts/cellCuts.C
index 6861186e394..864faad5fd1 100644
--- a/src/dynamicMesh/meshCut/cellCuts/cellCuts.C
+++ b/src/dynamicMesh/meshCut/cellCuts/cellCuts.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -252,12 +252,8 @@ Foam::label Foam::cellCuts::edgeEdgeToFace
     // Coming here means the loop is illegal since the two edges
     // are not shared by a face. We just mark loop as invalid and continue.
 
-    WarningIn
-    (
-        "Foam::cellCuts::edgeEdgeToFace"
-        "(const label cellI, const label edgeA,"
-        "const label edgeB) const"
-    )   << "cellCuts : Cannot find face on cell "
+    WarningInFunction
+        << "cellCuts : Cannot find face on cell "
         << cellI << " that has both edges " << edgeA << ' ' << edgeB << endl
         << "faces : " << cFaces << endl
         << "edgeA : " << mesh().edges()[edgeA] << endl
@@ -296,12 +292,8 @@ Foam::label Foam::cellCuts::edgeVertexToFace
         }
     }
 
-    WarningIn
-    (
-        "Foam::cellCuts::edgeVertexToFace"
-        "(const label cellI, const label edgeI, "
-        "const label vertI) const"
-    )   << "cellCuts : Cannot find face on cell "
+    WarningInFunction
+        << "cellCuts : Cannot find face on cell "
         << cellI << " that has both edge " << edgeI << " and vertex "
         << vertI << endl
         << "faces : " << cFaces << endl
@@ -338,7 +330,7 @@ Foam::label Foam::cellCuts::vertexVertexToFace
         }
     }
 
-    WarningIn("Foam::cellCuts::vertexVertexToFace")
+    WarningInFunction
         << "cellCuts : Cannot find face on cell "
         << cellI << " that has vertex " << vertA << " and vertex "
         << vertB << endl
@@ -353,7 +345,7 @@ void Foam::cellCuts::calcFaceCuts() const
 {
     if (faceCutsPtr_)
     {
-        FatalErrorIn("cellCuts::calcFaceCuts()")
+        FatalErrorInFunction
             << "faceCuts already calculated" << abort(FatalError);
     }
 
@@ -468,7 +460,7 @@ void Foam::cellCuts::calcFaceCuts() const
 
         if (allVerticesCut)
         {
-            WarningIn("Foam::cellCuts::calcFaceCuts() const")
+            WarningInFunction
                 << "Face " << faceI << " vertices " << f
                 << " has all its vertices cut. Not cutting face." << endl;
 
@@ -783,7 +775,7 @@ bool Foam::cellCuts::walkFace
     }
     else
     {
-        WarningIn("Foam::cellCuts::walkFace")
+        WarningInFunction
             << "In middle of cut. cell:" << cellI << " face:" << faceI
             << " cuts:" << fCuts << " current cut:" << cut << endl;
 
@@ -1314,7 +1306,7 @@ bool Foam::cellCuts::calcAnchors
 
     if (uncutIndex == -1)
     {
-        WarningIn("Foam::cellCuts::calcAnchors")
+        WarningInFunction
             << "Invalid loop " << loop << " for cell " << cellI << endl
             << "Can not find point on cell which is not cut by loop."
             << endl;
@@ -1334,7 +1326,7 @@ bool Foam::cellCuts::calcAnchors
     {
         // All vertices either in loop or in anchor. So split is along single
         // face.
-        WarningIn("Foam::cellCuts::calcAnchors")
+        WarningInFunction
             << "Invalid loop " << loop << " for cell " << cellI << endl
             << "All vertices of cell are either in loop or in anchor set"
             << endl;
@@ -1371,7 +1363,7 @@ bool Foam::cellCuts::calcAnchors
 
     if (uncutIndex != -1)
     {
-        WarningIn("Foam::cellCuts::calcAnchors")
+        WarningInFunction
             << "Invalid loop " << loop << " for cell " << cellI
             << " since it splits the cell into more than two cells" << endl;
 
@@ -1415,7 +1407,7 @@ bool Foam::cellCuts::calcAnchors
 
     if (connectedFaces.size() < 3)
     {
-        WarningIn("Foam::cellCuts::calcAnchors")
+        WarningInFunction
             << "Invalid loop " << loop << " for cell " << cellI
             << " since would have too few faces on one side." << nl
             << "All faces:" << cFaces << endl;
@@ -1427,7 +1419,7 @@ bool Foam::cellCuts::calcAnchors
 
     if (otherFaces.size() < 3)
     {
-        WarningIn("Foam::cellCuts::calcAnchors")
+        WarningInFunction
             << "Invalid loop " << loop << " for cell " << cellI
             << " since would have too few faces on one side." << nl
             << "All faces:" << cFaces << endl;
@@ -1471,7 +1463,7 @@ bool Foam::cellCuts::calcAnchors
                     if (hasSet1)
                     {
                         // Second occurence of set1.
-                        WarningIn("Foam::cellCuts::calcAnchors")
+                        WarningInFunction
                             << "Invalid loop " << loop << " for cell " << cellI
                             << " since face " << f << " would be split into"
                             << " more than two faces" << endl;
@@ -1488,7 +1480,7 @@ bool Foam::cellCuts::calcAnchors
                     if (hasSet2)
                     {
                         // Second occurence of set1.
-                        WarningIn("Foam::cellCuts::calcAnchors")
+                        WarningInFunction
                             << "Invalid loop " << loop << " for cell " << cellI
                             << " since face " << f << " would be split into"
                             << " more than two faces" << endl;
@@ -1502,7 +1494,7 @@ bool Foam::cellCuts::calcAnchors
                 }
                 else
                 {
-                    FatalErrorIn("Foam::cellCuts::calcAnchors")
+                    FatalErrorInFunction
                         << abort(FatalError);
                 }
 
@@ -1526,7 +1518,7 @@ bool Foam::cellCuts::calcAnchors
                     if (hasSet1)
                     {
                         // Second occurence of set1.
-                        WarningIn("Foam::cellCuts::calcAnchors")
+                        WarningInFunction
                             << "Invalid loop " << loop << " for cell " << cellI
                             << " since face " << f << " would be split into"
                             << " more than two faces" << endl;
@@ -1543,7 +1535,7 @@ bool Foam::cellCuts::calcAnchors
                     if (hasSet2)
                     {
                         // Second occurence of set1.
-                        WarningIn("Foam::cellCuts::calcAnchors")
+                        WarningInFunction
                             << "Invalid loop " << loop << " for cell " << cellI
                             << " since face " << f << " would be split into"
                             << " more than two faces" << endl;
@@ -1576,7 +1568,7 @@ bool Foam::cellCuts::calcAnchors
             // Both sets of points are supposedly on the same side as the
             // loop normal. Oops.
 
-            WarningIn("Foam::cellCuts::calcAnchors")
+            WarningInFunction
                 << " For cell:" << cellI
                 << " achorpoints and nonanchorpoints are geometrically"
                 << " on same side!" << endl
@@ -1971,7 +1963,7 @@ bool Foam::cellCuts::validLoop
 
     if (faceContainingLoop != -1)
     {
-        WarningIn("Foam::cellCuts::validLoop")
+        WarningInFunction
             << "Found loop on cell " << cellI << " with all points"
             << " on face " << faceContainingLoop << endl;
 
@@ -2029,13 +2021,11 @@ void Foam::cellCuts::setFromCellLoops()
             {
                 //writeOBJ(".", cellI, loopPoints(cellI), anchorPoints);
 
-                //FatalErrorIn("cellCuts::setFromCellLoops()")
-                WarningIn("cellCuts::setFromCellLoops")
+                WarningInFunction
                     << "Illegal loop " << loop
                     << " when recreating cut-addressing"
                     << " from existing cellLoops for cell " << cellI
                     << endl;
-                    //<< abort(FatalError);
 
                 cellLoops_[cellI].setSize(0);
                 cellAnchorPoints_[cellI].setSize(0);
@@ -2477,7 +2467,7 @@ void Foam::cellCuts::orientPlanesAndLoops()
         {
             if (cellAnchorPoints_[cellI].empty())
             {
-                FatalErrorIn("orientPlanesAndLoops()")
+                FatalErrorInFunction
                     << "No anchor points for cut cell " << cellI << endl
                     << "cellLoop:" << cellLoops_[cellI] << abort(FatalError);
             }
@@ -2515,10 +2505,8 @@ void Foam::cellCuts::calcLoopsAndAddressing(const labelList& cutCells)
 
             if (weight < 0 || weight > 1)
             {
-                FatalErrorIn
-                (
-                    "cellCuts::calcLoopsAndAddressing(const labelList&)"
-                )   << "Weight out of range [0,1]. Edge " << edgeI
+                FatalErrorInFunction
+                    << "Weight out of range [0,1]. Edge " << edgeI
                     << " verts:" << mesh().edges()[edgeI]
                     << " weight:" << weight << abort(FatalError);
             }
@@ -2570,13 +2558,11 @@ void Foam::cellCuts::check() const
             )
             {
                 // Should have been snapped.
-                //FatalErrorIn("cellCuts::check()")
-                WarningIn("cellCuts::check()")
+                WarningInFunction
                     << "edge:" << edgeI << " vertices:"
                     << mesh().edges()[edgeI]
                     << " weight:" << edgeWeight_[edgeI] << " should have been"
                     << " snapped to one of its endpoints"
-                    //<< abort(FatalError);
                     << endl;
             }
         }
@@ -2584,7 +2570,7 @@ void Foam::cellCuts::check() const
         {
             if (edgeWeight_[edgeI] > - 1)
             {
-                FatalErrorIn("cellCuts::check()")
+                FatalErrorInFunction
                     << "edge:" << edgeI << " vertices:"
                     << mesh().edges()[edgeI]
                     << " weight:" << edgeWeight_[edgeI] << " is not cut but"
@@ -2612,7 +2598,7 @@ void Foam::cellCuts::check() const
                 labelList cuts(1, cut);
                 writeCuts(Pout, cuts, loopWeights(cuts));
 
-                FatalErrorIn("cellCuts::check()")
+                FatalErrorInFunction
                     << "cell:" << cellI << " loop:"
                     << loop
                     << " cut:" << cut << " is not marked as cut"
@@ -2630,7 +2616,7 @@ void Foam::cellCuts::check() const
 
         if (loop.size() && anchors.empty())
         {
-            FatalErrorIn("cellCuts::check()")
+            FatalErrorInFunction
                 << "cell:" << cellI << " loop:" << loop
                 << " has no anchor points"
                 << abort(FatalError);
@@ -2647,7 +2633,7 @@ void Foam::cellCuts::check() const
              && findIndex(anchors, getVertex(cut)) != -1
             )
             {
-                FatalErrorIn("cellCuts::check()")
+                FatalErrorInFunction
                     << "cell:" << cellI << " loop:" << loop
                     << " anchor points:" << anchors
                     << " anchor:" << getVertex(cut) << " is part of loop"
@@ -2669,7 +2655,7 @@ void Foam::cellCuts::check() const
 
             if (cellLoops_[own].empty() && cellLoops_[nei].empty())
             {
-                FatalErrorIn("cellCuts::check()")
+                FatalErrorInFunction
                     << "Internal face:" << faceI << " cut by " << iter()
                     << " has owner:" << own
                     << " and neighbour:" << nei
@@ -2683,7 +2669,7 @@ void Foam::cellCuts::check() const
 
             if (cellLoops_[own].empty())
             {
-                FatalErrorIn("cellCuts::check()")
+                FatalErrorInFunction
                     << "Boundary face:" << faceI << " cut by " << iter()
                     << " has owner:" << own
                     << " that is uncut"
diff --git a/src/dynamicMesh/meshCut/cellLooper/cellLooper.C b/src/dynamicMesh/meshCut/cellLooper/cellLooper.C
index 69e526fe2bf..12dac20c0c6 100644
--- a/src/dynamicMesh/meshCut/cellLooper/cellLooper.C
+++ b/src/dynamicMesh/meshCut/cellLooper/cellLooper.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,10 +50,8 @@ Foam::autoPtr<Foam::cellLooper> Foam::cellLooper::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "cellLooper::New(const word&, const polyMesh&)"
-        )   << "Unknown set type "
+        FatalErrorInFunction
+            << "Unknown set type "
             << type << nl << nl
             << "Valid cellLooper types : " << endl
             << wordConstructorTablePtr_->sortedToc()
@@ -124,10 +122,8 @@ Foam::label Foam::cellLooper::getFirstVertEdge
         }
     }
 
-    FatalErrorIn
-    (
-        "getFirstVertEdge(const label, const label)"
-    )   << "Can not find edge on face " << faceI
+    FatalErrorInFunction
+        << "Can not find edge on face " << faceI
         << " using vertex " << vertI
         << abort(FatalError);
 
diff --git a/src/dynamicMesh/meshCut/cellLooper/hexCellLooper.C b/src/dynamicMesh/meshCut/cellLooper/hexCellLooper.C
index c01c916aa3b..e228515e7e2 100644
--- a/src/dynamicMesh/meshCut/cellLooper/hexCellLooper.C
+++ b/src/dynamicMesh/meshCut/cellLooper/hexCellLooper.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -215,7 +215,7 @@ bool Foam::hexCellLooper::cut
     {
         if (loop.empty())
         {
-            WarningIn("hexCellLooper")
+            WarningInFunction
                 << "could not cut cell " << cellI << endl;
 
             fileName cutsFile("hexCellLooper_" + name(cellI) + ".obj");
@@ -245,7 +245,7 @@ bool Foam::hexCellLooper::cut
 
             if (loopSet.found(elem))
             {
-                FatalErrorIn("hexCellLooper::walkHex") << " duplicate cut"
+                FatalErrorInFunction
                     << abort(FatalError);
             }
             loopSet.insert(elem);
@@ -259,7 +259,7 @@ bool Foam::hexCellLooper::cut
 
         if ((faceVerts.mag(facePoints) < SMALL) || (loop.size() < 3))
         {
-            FatalErrorIn("hexCellLooper::walkHex") << "Face:" << faceVerts
+            FatalErrorInFunction
                 << " on points:" << facePoints << endl
                 << UIndirectList<point>(facePoints, faceVerts)()
                 << abort(FatalError);
diff --git a/src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C b/src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C
index ce04d65990a..d93c5a2a1f8 100644
--- a/src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C
+++ b/src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,8 +63,7 @@ void Foam::topoCellLooper::subsetList
         // changed)
         if (freeI < 0)
         {
-            FatalErrorIn("topoCellLooper::subsetList")
-                << "startI:" << startI << "  freeI:" << freeI
+            FatalErrorInFunction
                 << "  lst:" << lst << abort(FatalError);
         }
         lst.setCapacity(freeI);
@@ -80,8 +79,7 @@ void Foam::topoCellLooper::subsetList
 
         if ((freeI - startI) < 0)
         {
-            FatalErrorIn("topoCellLooper::subsetList")
-                << "startI:" << startI << "  freeI:" << freeI
+            FatalErrorInFunction
                 << "  lst:" << lst << abort(FatalError);
         }
 
@@ -460,7 +458,7 @@ void Foam::topoCellLooper::walkSplitHex
             // On edge
             if (edgeI == -1)
             {
-                FatalErrorIn("walkSplitHex") << "Illegal edge and vert"
+                FatalErrorInFunction
                     << abort(FatalError);
             }
 
@@ -651,7 +649,7 @@ void Foam::topoCellLooper::walkSplitHex
                 }
                 else
                 {
-                    FatalErrorIn("walkFromVert") << "Not yet implemented"
+                    FatalErrorInFunction
                         << "Choosing from more than "
                         << "two candidates:" << nextFaces
                         << " when coming from vertex " << vertI << " on cell "
diff --git a/src/dynamicMesh/meshCut/directions/directionInfo/directionInfo.C b/src/dynamicMesh/meshCut/directions/directionInfo/directionInfo.C
index 2e19bb7e324..c1028dbfe54 100644
--- a/src/dynamicMesh/meshCut/directions/directionInfo/directionInfo.C
+++ b/src/dynamicMesh/meshCut/directions/directionInfo/directionInfo.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,7 +47,7 @@ Foam::label Foam::directionInfo::findEdge
         }
     }
 
-    FatalErrorIn("directionInfo::findEdge")
+    FatalErrorInFunction
         << "Cannot find an edge among " << edgeLabels << endl
         << "that uses vertices " << v0
         << " and " << v1
@@ -77,7 +77,7 @@ Foam::label Foam::directionInfo::lowest
 
         if (b1 != a)
         {
-            FatalErrorIn("directionInfo::lowest")
+            FatalErrorInFunction
                 << "Problem : a:" << a << " b:" << b << " size:" << size
                 << abort(FatalError);
         }
@@ -99,7 +99,7 @@ Foam::label Foam::directionInfo::edgeToFaceIndex
 {
     if ((edgeI < 0) || (edgeI >= mesh.nEdges()))
     {
-        FatalErrorIn("directionInfo::edgeToFaceIndex")
+        FatalErrorInFunction
             << "Illegal edge label:" << edgeI
             << " when projecting cut edge from cell " << cellI
             << " to face " << faceI
@@ -184,7 +184,7 @@ Foam::label Foam::directionInfo::edgeToFaceIndex
                 return lowest(f.size(), fpA, fpB);
             }
 
-            FatalErrorIn("directionInfo::edgeToFaceIndex")
+            FatalErrorInFunction
                 << "Found connected faces " << mesh.faces()[f0I] << " and "
                 << mesh.faces()[f1I] << " sharing edge " << edgeI << endl
                 << "But none seems to be connected to face " << faceI
diff --git a/src/dynamicMesh/meshCut/directions/directions.C b/src/dynamicMesh/meshCut/directions/directions.C
index 35170e9007f..d2b6aa683e2 100644
--- a/src/dynamicMesh/meshCut/directions/directions.C
+++ b/src/dynamicMesh/meshCut/directions/directions.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -127,7 +127,7 @@ void Foam::directions::check2D
     {
         if (mag(correct2DPtr->planeNormal() & vec) > 1e-6)
         {
-            FatalErrorIn("check2D") << "Specified vector " << vec
+            FatalErrorInFunction
                 << "is not normal to plane defined in dynamicMeshDict."
                 << endl
                 << "Either make case 3D or adjust vector."
@@ -161,7 +161,7 @@ Foam::vectorField Foam::directions::propagateDirection
 
             if (!hexMatcher().isA(mesh, cellI))
             {
-                FatalErrorIn("propagateDirection")
+                FatalErrorInFunction
                     << "useHexTopology specified but cell " << cellI
                     << " on face " << patchFaceI << " of patch " << pp.name()
                     << " is not a hex" << exit(FatalError);
@@ -229,7 +229,7 @@ Foam::vectorField Foam::directions::propagateDirection
         if (index == -3)
         {
             // Never visited
-            WarningIn("propagateDirection")
+            WarningInFunction
                 << "Cell " << cellI << " never visited to determine "
                 << "local coordinate system" << endl
                 << "Using direction " << defaultDir << " instead" << endl;
@@ -247,7 +247,7 @@ Foam::vectorField Foam::directions::propagateDirection
         }
         else if (index == -1)
         {
-            FatalErrorIn("propagateDirection")
+            FatalErrorInFunction
                 << "Illegal index " << index << endl
                 << "Value is only allowed on faces" << abort(FatalError);
         }
@@ -353,11 +353,8 @@ Foam::directions::directions
 
         if (patchI == -1)
         {
-            FatalErrorIn
-            (
-                "directions::directions(const polyMesh&, const dictionary&,"
-                "const twoDPointCorrector*)"
-            )   << "Cannot find patch "
+            FatalErrorInFunction
+                << "Cannot find patch "
                 << patchName
                 << exit(FatalError);
         }
@@ -373,11 +370,8 @@ Foam::directions::directions
         {
             tan1 = correct2DPtr->planeNormal() ^ n0;
 
-            WarningIn
-            (
-                "directions::directions(const polyMesh&, const dictionary&,"
-                "const twoDPointCorrector*)"
-            )   << "Discarding user specified tan1 since 2D case." << endl
+            WarningInFunction
+                << "Discarding user specified tan1 since 2D case." << endl
                 << "Recalculated tan1 from face normal and planeNormal as "
                 << tan1 << endl << endl;
         }
@@ -432,11 +426,8 @@ Foam::directions::directions
     }
     else
     {
-        FatalErrorIn
-        (
-            "directions::directions(const polyMesh&, const dictionary&,"
-            "const twoDPointCorrector*)"
-        )   << "Unknown coordinate system "
+        FatalErrorInFunction
+            << "Unknown coordinate system "
             << coordSystem << endl
             << "Known types are global and patchLocal"
             << exit(FatalError);
diff --git a/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.C b/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.C
index 6e22baf2364..f6df6d13c12 100644
--- a/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.C
+++ b/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -105,11 +105,8 @@ void Foam::edgeVertex::updateLabels
 
             if (newMaster == -1)
             {
-                WarningIn
-                (
-                    "edgeVertex::updateLabels(const labelList&, "
-                    "Map<label>&)"
-                )   << "master cell:" << iter.key()
+                WarningInFunction
+                    << "master cell:" << iter.key()
                     << " has disappeared" << endl;
             }
             else
diff --git a/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.H b/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.H
index b8d9e054836..a7a7b4313d7 100644
--- a/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.H
+++ b/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.H
@@ -109,10 +109,8 @@ public:
         {
             if (eVert < 0 || eVert >= (mesh.nPoints() + mesh.nEdges()))
             {
-                FatalErrorIn
-                (
-                    "edgeVertex::isEdge(const primitiveMesh&, const label)"
-                )   << "EdgeVertex " << eVert << " out of range "
+                FatalErrorInFunction
+                    << "EdgeVertex " << eVert << " out of range "
                     << mesh.nPoints() << " to "
                     << (mesh.nPoints() + mesh.nEdges() - 1)
                     << abort(FatalError);
@@ -130,10 +128,8 @@ public:
         {
             if (!isEdge(mesh, eVert))
             {
-                FatalErrorIn
-                (
-                    "edgeVertex::getEdge(const primitiveMesh&, const label)"
-                )   << "EdgeVertex " << eVert << " not an edge"
+                FatalErrorInFunction
+                    << "EdgeVertex " << eVert << " not an edge"
                     << abort(FatalError);
             }
             return eVert - mesh.nPoints();
@@ -148,10 +144,8 @@ public:
         {
             if (isEdge(mesh, eVert) || (eVert < 0))
             {
-                FatalErrorIn
-                (
-                    "edgeVertex::getVertex(const primitiveMesh&, const label)"
-                )   << "EdgeVertex " << eVert << " not a vertex"
+                FatalErrorInFunction
+                    << "EdgeVertex " << eVert << " not a vertex"
                     << abort(FatalError);
             }
             return eVert;
@@ -166,10 +160,8 @@ public:
         {
             if ((vertI < 0) || (vertI >= mesh.nPoints()))
             {
-                FatalErrorIn
-                (
-                    "edgeVertex::vertToEVert(const primitiveMesh&, const label)"
-                )   << "Illegal vertex number " << vertI
+                FatalErrorInFunction
+                    << "Illegal vertex number " << vertI
                     << abort(FatalError);
             }
             return vertI;
@@ -184,10 +176,8 @@ public:
         {
             if ((edgeI < 0) || (edgeI >= mesh.nEdges()))
             {
-                FatalErrorIn
-                (
-                    "edgeVertex::edgeToEVert(const primitiveMesh&const label)"
-                )   << "Illegal edge number " << edgeI
+                FatalErrorInFunction
+                    << "Illegal edge number " << edgeI
                     << abort(FatalError);
             }
             return mesh.nPoints() + edgeI;
diff --git a/src/dynamicMesh/meshCut/meshModifiers/boundaryCutter/boundaryCutter.C b/src/dynamicMesh/meshCut/meshModifiers/boundaryCutter/boundaryCutter.C
index 654b47a2545..1e81226a4b8 100644
--- a/src/dynamicMesh/meshCut/meshModifiers/boundaryCutter/boundaryCutter.C
+++ b/src/dynamicMesh/meshCut/meshModifiers/boundaryCutter/boundaryCutter.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -248,7 +248,7 @@ bool Foam::boundaryCutter::splitFace
 
     if (nSplitEdges == 0 && nModPoints == 0)
     {
-        FatalErrorIn("boundaryCutter::splitFace") << "Problem : face:" << faceI
+        FatalErrorInFunction
             << " nSplitEdges:" << nSplitEdges
             << " nTotalSplits:" << nTotalSplits
             << abort(FatalError);
@@ -302,7 +302,7 @@ bool Foam::boundaryCutter::splitFace
 
         if (startFp == -1)
         {
-            FatalErrorIn("boundaryCutter::splitFace")
+            FatalErrorInFunction
                 << "Problem" << abort(FatalError);
         }
 
@@ -508,7 +508,7 @@ void Foam::boundaryCutter::setRefinement
 
         if (faceToSplit.found(faceI))
         {
-            FatalErrorIn("boundaryCutter::setRefinement")
+            FatalErrorInFunction
                 << "Face " << faceI << " vertices " << f
                 << " is both marked for face-centre decomposition and"
                 << " diagonal splitting."
@@ -517,7 +517,7 @@ void Foam::boundaryCutter::setRefinement
 
         if (mesh_.isInternalFace(faceI))
         {
-            FatalErrorIn("boundaryCutter::setRefinement")
+            FatalErrorInFunction
                 << "Face " << faceI << " vertices " << f
                 << " is not an external face. Cannot split it"
                 << abort(FatalError);
@@ -637,7 +637,7 @@ void Foam::boundaryCutter::setRefinement
 
         if (faceAddedPoint_.found(faceI))
         {
-            FatalErrorIn("boundaryCutter::setRefinement")
+            FatalErrorInFunction
                 << "Face " << faceI << " vertices " << f
                 << " is both marked for face-centre decomposition and"
                 << " diagonal splitting."
@@ -662,7 +662,7 @@ void Foam::boundaryCutter::setRefinement
 
         if (fp0 == -1 || fp1 == -1 || fp0 == fp1)
         {
-            FatalErrorIn("boundaryCutter::setRefinement")
+            FatalErrorInFunction
                 << "Problem : Face " << faceI << " vertices " << f
                 << " newFace:" << newFace << " diagonal:" << f[diag[0]]
                 << ' ' << f[diag[1]]
diff --git a/src/dynamicMesh/meshCut/meshModifiers/meshCutAndRemove/meshCutAndRemove.C b/src/dynamicMesh/meshCut/meshModifiers/meshCutAndRemove/meshCutAndRemove.C
index 4999757132f..a3b768e9cde 100644
--- a/src/dynamicMesh/meshCut/meshModifiers/meshCutAndRemove/meshCutAndRemove.C
+++ b/src/dynamicMesh/meshCut/meshModifiers/meshCutAndRemove/meshCutAndRemove.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -137,10 +137,7 @@ Foam::label Foam::meshCutAndRemove::findInternalFacePoint
 
     if (pointLabels.empty())
     {
-        FatalErrorIn
-        (
-            "meshCutAndRemove::findInternalFacePoint(const labelList&)"
-        )
+        FatalErrorInFunction
             << "Empty pointLabels" << abort(FatalError);
     }
 
@@ -452,11 +449,8 @@ void Foam::meshCutAndRemove::splitFace
 
     if (startFp == -1)
     {
-        FatalErrorIn
-        (
-            "meshCutAndRemove::splitFace"
-            ", const face&, const label, const label, face&, face&)"
-        )   << "Cannot find vertex (new numbering) " << v0
+        FatalErrorInFunction
+            << "Cannot find vertex (new numbering) " << v0
             << " on face " << f
             << abort(FatalError);
     }
@@ -465,11 +459,8 @@ void Foam::meshCutAndRemove::splitFace
 
     if (endFp == -1)
     {
-        FatalErrorIn
-        (
-            "meshCutAndRemove::splitFace("
-            ", const face&, const label, const label, face&, face&)"
-        )   << "Cannot find vertex (new numbering) " << v1
+        FatalErrorInFunction
+            << "Cannot find vertex (new numbering) " << v1
             << " on face " << f
             << abort(FatalError);
     }
@@ -619,12 +610,8 @@ void Foam::meshCutAndRemove::setRefinement
 
     if (exposedPatchI < 0 || exposedPatchI >= patches.size())
     {
-        FatalErrorIn
-        (
-            "meshCutAndRemove::setRefinement("
-            ", const label, const cellCuts&, const labelList&"
-            ", polyTopoChange&)"
-        )   << "Illegal exposed patch " << exposedPatchI
+        FatalErrorInFunction
+            << "Illegal exposed patch " << exposedPatchI
             << abort(FatalError);
     }
 
@@ -642,12 +629,8 @@ void Foam::meshCutAndRemove::setRefinement
             // Check if there is any cell using this edge.
             if (debug && findCutCell(cuts, mesh().edgeCells()[edgeI]) == -1)
             {
-                FatalErrorIn
-                (
-                    "meshCutAndRemove::setRefinement("
-                    ", const label, const cellCuts&, const labelList&"
-                    ", polyTopoChange&)"
-                )   << "Problem: cut edge but none of the cells using it is\n"
+                FatalErrorInFunction
+                    << "Problem: cut edge but none of the cells using it is\n"
                     << "edge:" << edgeI << " verts:" << e
                     << abort(FatalError);
             }
@@ -748,12 +731,8 @@ void Foam::meshCutAndRemove::setRefinement
 
                     if (!usedPoint[pointI])
                     {
-                        FatalErrorIn
-                        (
-                            "meshCutAndRemove::setRefinement("
-                            ", const label, const cellCuts&, const labelList&"
-                            ", polyTopoChange&)"
-                        )   << "Problem: faceSplitCut not used by any loop"
+                        FatalErrorInFunction
+                            << "Problem: faceSplitCut not used by any loop"
                             << " or cell anchor point"
                             << "face:" << iter.key() << " point:" << pointI
                             << " coord:" << mesh().points()[pointI]
@@ -769,12 +748,8 @@ void Foam::meshCutAndRemove::setRefinement
             {
                 if (!usedPoint[pointI])
                 {
-                    FatalErrorIn
-                    (
-                        "meshCutAndRemove::setRefinement("
-                        ", const label, const cellCuts&, const labelList&"
-                        ", polyTopoChange&)"
-                    )   << "Problem: point is marked as cut but"
+                    FatalErrorInFunction
+                        << "Problem: point is marked as cut but"
                         << " not used by any loop"
                         << " or cell anchor point"
                         << "point:" << pointI
@@ -813,12 +788,8 @@ void Foam::meshCutAndRemove::setRefinement
         {
             if (cutPatch[cellI] < 0 || cutPatch[cellI] >= patches.size())
             {
-                FatalErrorIn
-                (
-                    "meshCutAndRemove::setRefinement("
-                    ", const label, const cellCuts&, const labelList&"
-                    ", polyTopoChange&)"
-                )   << "Illegal patch " << cutPatch[cellI]
+                FatalErrorInFunction
+                    << "Illegal patch " << cutPatch[cellI]
                     << " provided for cut cell " << cellI
                     << abort(FatalError);
             }
diff --git a/src/dynamicMesh/meshCut/meshModifiers/meshCutter/meshCutter.C b/src/dynamicMesh/meshCut/meshModifiers/meshCutter/meshCutter.C
index 80acd2bc170..5c3f0e61a6c 100644
--- a/src/dynamicMesh/meshCut/meshModifiers/meshCutter/meshCutter.C
+++ b/src/dynamicMesh/meshCut/meshModifiers/meshCutter/meshCutter.C
@@ -123,7 +123,7 @@ Foam::label Foam::meshCutter::findInternalFacePoint
 
     if (pointLabels.empty())
     {
-        FatalErrorIn("meshCutter::findInternalFacePoint(const labelList&)")
+        FatalErrorInFunction
             << "Empty pointLabels" << abort(FatalError);
     }
 
@@ -383,11 +383,8 @@ void Foam::meshCutter::splitFace
 
     if (startFp == -1)
     {
-        FatalErrorIn
-        (
-            "meshCutter::splitFace"
-            ", const face&, const label, const label, face&, face&)"
-        )   << "Cannot find vertex (new numbering) " << v0
+        FatalErrorInFunction
+            << "Cannot find vertex (new numbering) " << v0
             << " on face " << f
             << abort(FatalError);
     }
@@ -396,11 +393,8 @@ void Foam::meshCutter::splitFace
 
     if (endFp == -1)
     {
-        FatalErrorIn
-        (
-            "meshCutter::splitFace("
-            ", const face&, const label, const label, face&, face&)"
-        )   << "Cannot find vertex (new numbering) " << v1
+        FatalErrorInFunction
+            << "Cannot find vertex (new numbering) " << v1
             << " on face " << f
             << abort(FatalError);
     }
@@ -563,11 +557,8 @@ void Foam::meshCutter::setRefinement
             // Check if there is any cell using this edge.
             if (debug && findCutCell(cuts, mesh().edgeCells()[edgeI]) == -1)
             {
-                FatalErrorIn
-                (
-                    "meshCutter::setRefinement(const cellCuts&"
-                    ", polyTopoChange&)"
-                )   << "Problem: cut edge but none of the cells using it is\n"
+                FatalErrorInFunction
+                    << "Problem: cut edge but none of the cells using it is\n"
                     << "edge:" << edgeI << " verts:" << e
                     << abort(FatalError);
             }
@@ -939,11 +930,8 @@ void Foam::meshCutter::setRefinement
 
                     if (debug && (f != addEdgeCutsToFace(faceI)))
                     {
-                        FatalErrorIn
-                        (
-                            "meshCutter::setRefinement(const cellCuts&"
-                            ", polyTopoChange&)"
-                        )   << "Problem: edges added to face which does "
+                        FatalErrorInFunction
+                            << "Problem: edges added to face which does "
                             << " not use a marked cut" << endl
                             << "faceI:" << faceI << endl
                             << "face:" << f << endl
diff --git a/src/dynamicMesh/meshCut/meshModifiers/multiDirRefinement/multiDirRefinement.C b/src/dynamicMesh/meshCut/meshModifiers/multiDirRefinement/multiDirRefinement.C
index 3668134cc49..b79f0faed25 100644
--- a/src/dynamicMesh/meshCut/meshModifiers/multiDirRefinement/multiDirRefinement.C
+++ b/src/dynamicMesh/meshCut/meshModifiers/multiDirRefinement/multiDirRefinement.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,11 +70,8 @@ void Foam::multiDirRefinement::addCells
 
         if (iter == splitMap.end())
         {
-            FatalErrorIn
-            (
-                "multiDirRefinement::addCells(const Map<label>&"
-                ", List<refineCell>&)"
-            )   << "Problem : cannot find added cell for cell "
+            FatalErrorInFunction
+                << "Problem : cannot find added cell for cell "
                 << refCell.cellNo() << abort(FatalError);
         }
 
@@ -143,11 +140,8 @@ void Foam::multiDirRefinement::addCells
             }
             else if (origCell[slave] != cellI)
             {
-                FatalErrorIn
-                (
-                    "multiDirRefinement::addCells(const primitiveMesh&"
-                    ", const Map<label>&"
-                )   << "Added cell " << slave << " has two different masters:"
+                FatalErrorInFunction
+                    << "Added cell " << slave << " has two different masters:"
                     << origCell[slave] << " , " << cellI
                     << abort(FatalError);
             }
@@ -167,11 +161,8 @@ void Foam::multiDirRefinement::addCells
 
         if (masterI >= addedCells_.size())
         {
-            FatalErrorIn
-            (
-                "multiDirRefinement::addCells(const primitiveMesh&"
-                ", const Map<label>&"
-            )   << "Map of added cells contains master cell " << masterI
+            FatalErrorInFunction
+                << "Map of added cells contains master cell " << masterI
                 << " which is not a valid cell number" << endl
                 << "This means that the mesh is not consistent with the"
                 << " done refinement" << endl
@@ -298,11 +289,8 @@ void Foam::multiDirRefinement::refineHex8
 
             if (iter == hexCellSet.end())
             {
-                FatalErrorIn
-                (
-                    "multiDirRefinement::refineHex8"
-                    "(polyMesh&, const labelList&, const bool)"
-                )   << "Resulting mesh would not satisfy 2:1 ratio"
+                FatalErrorInFunction
+                    << "Resulting mesh would not satisfy 2:1 ratio"
                     << " when refining cell " << cellI << abort(FatalError);
             }
             else
@@ -317,11 +305,8 @@ void Foam::multiDirRefinement::refineHex8
         {
             if (iter() != 2)
             {
-                FatalErrorIn
-                (
-                    "multiDirRefinement::refineHex8"
-                    "(polyMesh&, const labelList&, const bool)"
-                )   << "Resulting mesh would not satisfy 2:1 ratio"
+                FatalErrorInFunction
+                    << "Resulting mesh would not satisfy 2:1 ratio"
                     << " when refining cell " << iter.key()
                     << abort(FatalError);
             }
diff --git a/src/dynamicMesh/meshCut/meshModifiers/refinementIterator/refinementIterator.C b/src/dynamicMesh/meshCut/meshModifiers/refinementIterator/refinementIterator.C
index 30e32a44afd..feec8ba08c2 100644
--- a/src/dynamicMesh/meshCut/meshModifiers/refinementIterator/refinementIterator.C
+++ b/src/dynamicMesh/meshCut/meshModifiers/refinementIterator/refinementIterator.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -214,7 +214,7 @@ Foam::Map<Foam::label> Foam::refinementIterator::setRefinement
         {
             if (!addedCells.insert(iter.key(), iter()))
             {
-                FatalErrorIn("refinementIterator")
+                FatalErrorInFunction
                     << "Master cell " << iter.key()
                     << " already has been refined" << endl
                     << "Added cell:" << iter() << abort(FatalError);
@@ -272,7 +272,7 @@ Foam::Map<Foam::label> Foam::refinementIterator::setRefinement
 
     if (nRefCells == oldRefCells)
     {
-        WarningIn("refinementIterator")
+        WarningInFunction
             << "stopped refining."
             << "Did not manage to refine a single cell" << endl
             << "Wanted :" << oldRefCells << endl;
diff --git a/src/dynamicMesh/meshCut/meshModifiers/undoableMeshCutter/undoableMeshCutter.C b/src/dynamicMesh/meshCut/meshModifiers/undoableMeshCutter/undoableMeshCutter.C
index 7782b9bb3ac..1bc371a44ff 100644
--- a/src/dynamicMesh/meshCut/meshModifiers/undoableMeshCutter/undoableMeshCutter.C
+++ b/src/dynamicMesh/meshCut/meshModifiers/undoableMeshCutter/undoableMeshCutter.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -115,11 +115,8 @@ void Foam::undoableMeshCutter::updateLabels
 
         if (!splitPtr)
         {
-            FatalErrorIn
-            (
-                "undoableMeshCutter::updateLabels"
-                "(const labelList&, Map<splitCell*>&)"
-            )   << "Problem: null pointer on liveSplitCells list"
+            FatalErrorInFunction
+                << "Problem: null pointer on liveSplitCells list"
                 << abort(FatalError);
         }
 
@@ -275,7 +272,7 @@ void Foam::undoableMeshCutter::setRefinement
 
                 if (liveSplitCells_.found(addedCellI))
                 {
-                    FatalErrorIn("undoableMeshCutter::setRefinement")
+                    FatalErrorInFunction
                         << "problem addedCell:" << addedCellI
                         << abort(FatalError);
                 }
@@ -304,7 +301,7 @@ void Foam::undoableMeshCutter::setRefinement
 
                 if (liveSplitCells_.found(addedCellI))
                 {
-                    FatalErrorIn("undoableMeshCutter::setRefinement")
+                    FatalErrorInFunction
                         << "problem addedCell:" << addedCellI
                         << abort(FatalError);
                 }
@@ -346,7 +343,7 @@ Foam::labelList Foam::undoableMeshCutter::getSplitFaces() const
 {
     if (!undoable_)
     {
-        FatalErrorIn("undoableMeshCutter::getSplitFaces()")
+        FatalErrorInFunction
             << "Only call if constructed with unrefinement capability"
             << abort(FatalError);
     }
@@ -359,7 +356,7 @@ Foam::labelList Foam::undoableMeshCutter::getSplitFaces() const
 
         if (!splitPtr->parent())
         {
-            FatalErrorIn("undoableMeshCutter::getSplitFaces()")
+            FatalErrorInFunction
                 << "Live split cell without parent" << endl
                 << "splitCell:" << splitPtr->cellLabel()
                 << abort(FatalError);
@@ -407,7 +404,7 @@ Foam::Map<Foam::label> Foam::undoableMeshCutter::getAddedCells() const
 
     if (!undoable_)
     {
-        FatalErrorIn("undoableMeshCutter::getAddedCells()")
+        FatalErrorInFunction
             << "Only call if constructed with unrefinement capability"
             << abort(FatalError);
     }
@@ -420,7 +417,7 @@ Foam::Map<Foam::label> Foam::undoableMeshCutter::getAddedCells() const
 
         if (!splitPtr->parent())
         {
-            FatalErrorIn("undoableMeshCutter::getAddedCells()")
+            FatalErrorInFunction
                 << "Live split cell without parent" << endl
                 << "splitCell:" << splitPtr->cellLabel()
                 << abort(FatalError);
@@ -455,7 +452,7 @@ Foam::labelList Foam::undoableMeshCutter::removeSplitFaces
 {
     if (!undoable_)
     {
-        FatalErrorIn("undoableMeshCutter::removeSplitFaces(const labelList&)")
+        FatalErrorInFunction
             << "Only call if constructed with unrefinement capability"
             << abort(FatalError);
     }
@@ -479,10 +476,8 @@ Foam::labelList Foam::undoableMeshCutter::removeSplitFaces
         Pout<< "cellRegion:" << cellRegion << endl;
         Pout<< "cellRegionMaster:" << cellRegionMaster << endl;
 
-        FatalErrorIn
-        (
-            "undoableMeshCutter::removeSplitFaces(const labelList&)"
-        )   << "Faces to remove:" << splitFaces << endl
+        FatalErrorInFunction
+            << "Faces to remove:" << splitFaces << endl
             << "to be removed:" << facesToRemove
             << abort(FatalError);
     }
@@ -496,10 +491,8 @@ Foam::labelList Foam::undoableMeshCutter::removeSplitFaces
 
         if (!mesh().isInternalFace(faceI))
         {
-            FatalErrorIn
-            (
-                "undoableMeshCutter::removeSplitFaces(const labelList&)"
-            )   << "Trying to remove face that is not internal"
+            FatalErrorInFunction
+                << "Trying to remove face that is not internal"
                 << abort(FatalError);
         }
 
@@ -542,28 +535,22 @@ Foam::labelList Foam::undoableMeshCutter::removeSplitFaces
             }
             if (!parentPtr)
             {
-                FatalErrorIn
-                (
-                    "undoableMeshCutter::removeSplitFaces(const labelList&)"
-                )   << "No parent for owner " << ownPtr->cellLabel()
+                FatalErrorInFunction
+                    << "No parent for owner " << ownPtr->cellLabel()
                     << abort(FatalError);
             }
 
             if (!nbrPtr->parent())
             {
-                FatalErrorIn
-                (
-                    "undoableMeshCutter::removeSplitFaces(const labelList&)"
-                )   << "No parent for neighbour " << nbrPtr->cellLabel()
+                FatalErrorInFunction
+                    << "No parent for neighbour " << nbrPtr->cellLabel()
                     << abort(FatalError);
             }
 
             if (parentPtr != nbrPtr->parent())
             {
-                FatalErrorIn
-                (
-                    "undoableMeshCutter::removeSplitFaces(const labelList&)"
-                )   << "Owner and neighbour liveSplitCell entries do not have"
+                FatalErrorInFunction
+                    << "Owner and neighbour liveSplitCell entries do not have"
                     << " same parent. faceI:" << faceI << "  owner:" << own
                     << "  ownparent:" << parentPtr->cellLabel()
                     << " neighbour:" << nbr
@@ -579,10 +566,8 @@ Foam::labelList Foam::undoableMeshCutter::removeSplitFaces
             )
             {
                 // Live owner and neighbour are refined themselves.
-                FatalErrorIn
-                (
-                    "undoableMeshCutter::removeSplitFaces(const labelList&)"
-                )   << "Owner and neighbour liveSplitCell entries are"
+                FatalErrorInFunction
+                    << "Owner and neighbour liveSplitCell entries are"
                     << " refined themselves or the parent is not refined"
                     << endl
                     << "owner unrefined:" << ownPtr->isUnrefined()
diff --git a/src/dynamicMesh/meshCut/refineCell/refineCell.C b/src/dynamicMesh/meshCut/refineCell/refineCell.C
index 9e100234d7a..5517d34a667 100644
--- a/src/dynamicMesh/meshCut/refineCell/refineCell.C
+++ b/src/dynamicMesh/meshCut/refineCell/refineCell.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Foam::refineCell::refineCell(const label cellI, const vector& direction)
 
     if (magDir < SMALL)
     {
-        FatalErrorIn("refineCell(const label, const vector&)")
+        FatalErrorInFunction
             << "(almost)zero vector as direction for cell " << cellNo_
             << abort(FatalError);
     }
@@ -65,7 +65,7 @@ Foam::refineCell::refineCell(Istream& is)
 
     if (magDir < SMALL)
     {
-        FatalErrorIn("refineCell(Istream&)")
+        FatalErrorInFunction
             << "(almost)zero vector as direction for cell " << cellNo_
             << abort(FatalError);
     }
diff --git a/src/dynamicMesh/meshCut/splitCell/splitCell.C b/src/dynamicMesh/meshCut/splitCell/splitCell.C
index ef675814b90..c4e79700620 100644
--- a/src/dynamicMesh/meshCut/splitCell/splitCell.C
+++ b/src/dynamicMesh/meshCut/splitCell/splitCell.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,7 +57,7 @@ Foam::splitCell::~splitCell()
         }
         else
         {
-            FatalErrorIn("splitCell::~splitCell()") << "this not equal to"
+            FatalErrorInFunction
                 << " parent's master or slave pointer" << endl
                 << "Cell:" << cellLabel() << abort(FatalError);
         }
@@ -73,7 +73,7 @@ bool Foam::splitCell::isMaster() const
 
     if (!myParent)
     {
-        FatalErrorIn("splitCell::isMaster()") << "parent not set"
+        FatalErrorInFunction
             << "Cell:" << cellLabel() << abort(FatalError);
 
         return false;
@@ -88,7 +88,7 @@ bool Foam::splitCell::isMaster() const
     }
     else
     {
-        FatalErrorIn("splitCell::isMaster()") << "this not equal to"
+        FatalErrorInFunction
             << " parent's master or slave pointer" << endl
             << "Cell:" << cellLabel() << abort(FatalError);
 
@@ -109,7 +109,7 @@ Foam::splitCell* Foam::splitCell::getOther() const
 
     if (!myParent)
     {
-        FatalErrorIn("splitCell::getOther()") << "parent not set"
+        FatalErrorInFunction
             << "Cell:" << cellLabel() << abort(FatalError);
 
         return NULL;
@@ -124,7 +124,7 @@ Foam::splitCell* Foam::splitCell::getOther() const
     }
     else
     {
-        FatalErrorIn("splitCell::getOther()") << "this not equal to"
+        FatalErrorInFunction
             << " parent's master or slave pointer" << endl
             << "Cell:" << cellLabel() << abort(FatalError);
 
diff --git a/src/dynamicMesh/meshCut/wallLayerCells/wallNormalInfo/wallNormalInfoI.H b/src/dynamicMesh/meshCut/wallLayerCells/wallNormalInfo/wallNormalInfoI.H
index e24734607b8..bbea7eee835 100644
--- a/src/dynamicMesh/meshCut/wallLayerCells/wallNormalInfo/wallNormalInfoI.H
+++ b/src/dynamicMesh/meshCut/wallLayerCells/wallNormalInfo/wallNormalInfoI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -37,10 +37,8 @@ inline bool Foam::wallNormalInfo::update
 {
     if (!w2.valid(td))
     {
-        FatalErrorIn
-        (
-            "wallNormalInfo::update(const wallNormalInfo&)"
-        ) << "Problem: w2 is not valid" << abort(FatalError);
+        FatalErrorInFunction
+          << "Problem: w2 is not valid" << abort(FatalError);
 
         return false;
     }
diff --git a/src/dynamicMesh/motionSmoother/motionSmootherAlgo.C b/src/dynamicMesh/motionSmoother/motionSmootherAlgo.C
index d546ff86bb7..3e68ebb6c42 100644
--- a/src/dynamicMesh/motionSmoother/motionSmootherAlgo.C
+++ b/src/dynamicMesh/motionSmoother/motionSmootherAlgo.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,14 +63,8 @@ void Foam::motionSmootherAlgo::testSyncPositions
     {
         if (mag(syncedFld[i] - fld[i]) > maxMag)
         {
-            FatalErrorIn
-            (
-                "motionSmootherAlgo::testSyncPositions"
-                "("
-                    "const pointField&, "
-                    "const scalar"
-                ")"
-            )   << "On point " << i << " point:" << fld[i]
+            FatalErrorInFunction
+                << "On point " << i << " point:" << fld[i]
                 << " synchronised point:" << syncedFld[i]
                 << abort(FatalError);
         }
@@ -88,11 +82,8 @@ void Foam::motionSmootherAlgo::checkFld(const pointScalarField& fld)
         {}
         else
         {
-            FatalErrorIn
-            (
-                "motionSmootherAlgo::checkFld"
-                "(const pointScalarField&)"
-            )   << "Problem : point:" << pointI << " value:" << val
+            FatalErrorInFunction
+                << "Problem : point:" << pointI << " value:" << val
                 << abort(FatalError);
         }
     }
@@ -657,7 +648,7 @@ void Foam::motionSmootherAlgo::modifyMotionPoints(pointField& newPoints) const
 
         if (mesh_.globalData().parallel())
         {
-            WarningIn("motionSmootherAlgo::modifyMotionPoints(pointField&)")
+            WarningInFunction
                 << "2D mesh-motion probably not correct in parallel" << endl;
         }
 
@@ -842,18 +833,7 @@ bool Foam::motionSmootherAlgo::scaleMesh
 {
     if (!smoothMesh && adaptPatchIDs_.empty())
     {
-        FatalErrorIn
-        (
-            "motionSmootherAlgo::scaleMesh"
-            "("
-                "labelList&, "
-                "const List<labelPair>&, "
-                "const dictionary&, "
-                "const dictionary&, "
-                "const bool, "
-                "const label"
-            ")"
-        )
+        FatalErrorInFunction
             << "You specified both no movement on the internal mesh points"
             << " (smoothMesh = false)" << nl
             << "and no movement on the patch (adaptPatchIDs is empty)" << nl
@@ -1064,10 +1044,8 @@ void Foam::motionSmootherAlgo::updateMesh()
             )
         )
         {
-            FatalErrorIn
-            (
-                "motionSmootherAlgo::updateMesh"
-            )   << "Patch " << patches[patchI].name()
+            FatalErrorInFunction
+                << "Patch " << patches[patchI].name()
                 << " has wrong boundary condition "
                 << displacement_.boundaryField()[patchI].type()
                 << " on field " << displacement_.name() << nl
diff --git a/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C b/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C
index 17730d131ef..abd1d1f04b1 100644
--- a/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C
+++ b/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -118,11 +118,8 @@ void Foam::motionSmootherAlgo::checkConstraints
 
                 if (savedVal != pf[ppp])
                 {
-                    FatalErrorIn
-                    (
-                        "motionSmootherAlgo::checkConstraints"
-                        "(GeometricField<Type, pointPatchField, pointMesh>&)"
-                    )   << "Patch fields are not consistent on mesh point "
+                    FatalErrorInFunction
+                        << "Patch fields are not consistent on mesh point "
                         << ppp << " coordinate " << mesh.points()[ppp]
                         << " at patch " << bm[patchi].name() << '.'
                         << endl
@@ -290,12 +287,8 @@ void Foam::motionSmootherAlgo::testSyncField
     {
         if (mag(syncedFld[i] - fld[i]) > maxMag)
         {
-            FatalErrorIn
-            (
-                "motionSmootherAlgo::testSyncField"
-                "(const Field<Type>&, const CombineOp&"
-                ", const Type&, const bool)"
-            )   << "On element " << i << " value:" << fld[i]
+            FatalErrorInFunction
+                << "On element " << i << " value:" << fld[i]
                 << " synchronised value:" << syncedFld[i]
                 << abort(FatalError);
         }
diff --git a/src/dynamicMesh/motionSmoother/polyMeshGeometry/polyMeshGeometry.C b/src/dynamicMesh/motionSmoother/polyMeshGeometry/polyMeshGeometry.C
index 57725dc57c9..017fc1ec132 100644
--- a/src/dynamicMesh/motionSmoother/polyMeshGeometry/polyMeshGeometry.C
+++ b/src/dynamicMesh/motionSmoother/polyMeshGeometry/polyMeshGeometry.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -261,12 +261,8 @@ Foam::scalar Foam::polyMeshGeometry::checkNonOrtho
             // Non-orthogonality greater than 90 deg
             if (report)
             {
-                WarningIn
-                (
-                    "polyMeshGeometry::checkFaceDotProduct"
-                    "(const bool, const scalar, const labelList&"
-                    ", labelHashSet*)"
-                )   << "Severe non-orthogonality detected for face "
+                WarningInFunction
+                    << "Severe non-orthogonality detected for face "
                     << faceI
                     << " between cells " << mesh.faceOwner()[faceI]
                     << " and " << nei
@@ -541,11 +537,8 @@ bool Foam::polyMeshGeometry::checkFaceDotProduct
     {
         if (report)
         {
-            SeriousErrorIn
-            (
-                "polyMeshGeometry::checkFaceDotProduct"
-                "(const bool, const scalar, const labelList&, labelHashSet*)"
-            )   << "Error in non-orthogonality detected" << endl;
+            SeriousErrorInFunction
+                << "Error in non-orthogonality detected" << endl;
         }
 
         return true;
@@ -724,12 +717,8 @@ bool Foam::polyMeshGeometry::checkFacePyramids
     {
         if (report)
         {
-            SeriousErrorIn
-            (
-                "polyMeshGeometry::checkFacePyramids("
-                "const bool, const scalar, const pointField&"
-                ", const labelList&, labelHashSet*)"
-            )   << "Error in face pyramids: faces pointing the wrong way."
+            SeriousErrorInFunction
+                << "Error in face pyramids: faces pointing the wrong way."
                 << endl;
         }
 
@@ -957,12 +946,8 @@ bool Foam::polyMeshGeometry::checkFaceTets
     {
         if (report)
         {
-            SeriousErrorIn
-            (
-                "polyMeshGeometry::checkFaceTets("
-                "const bool, const scalar, const pointField&, const pointField&"
-                ", const labelList&, labelHashSet*)"
-            )   << "Error in face decomposition: negative tets."
+            SeriousErrorInFunction
+                << "Error in face decomposition: negative tets."
                 << endl;
         }
 
@@ -1171,11 +1156,7 @@ bool Foam::polyMeshGeometry::checkFaceSkewness
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkFaceSkewness"
-                "(const bool, const scalar, const labelList&, labelHashSet*)"
-            )   << "Large face skewness detected.  Max skewness = "
+            WarningInFunction
                 << 100*maxSkew
                 << " percent.\nThis may impair the quality of the result." << nl
                 << nWarnSkew << " highly skew faces detected."
@@ -1331,11 +1312,7 @@ bool Foam::polyMeshGeometry::checkFaceWeights
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkFaceWeights"
-                "(const bool, const scalar, const labelList&, labelHashSet*)"
-            )   << "Small interpolation weight detected.  Min weight = "
+            WarningInFunction
                 << minWeight << '.' << nl
                 << nWarnWeight << " faces with small weights detected."
                 << endl;
@@ -1473,11 +1450,7 @@ bool Foam::polyMeshGeometry::checkVolRatio
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkVolRatio"
-                "(const bool, const scalar, const labelList&, labelHashSet*)"
-            )   << "Small volume ratio detected.  Min ratio = "
+            WarningInFunction
                 << minRatio << '.' << nl
                 << nWarnRatio << " faces with small ratios detected."
                 << endl;
@@ -1515,12 +1488,8 @@ bool Foam::polyMeshGeometry::checkFaceAngles
 {
     if (maxDeg < -SMALL || maxDeg > 180+SMALL)
     {
-        FatalErrorIn
-        (
-            "polyMeshGeometry::checkFaceAngles"
-            "(const bool, const scalar, const pointField&, const labelList&"
-            ", labelHashSet*)"
-        )   << "maxDeg should be [0..180] but is now " << maxDeg
+        FatalErrorInFunction
+            << "maxDeg should be [0..180] but is now " << maxDeg
             << abort(FatalError);
     }
 
@@ -1622,12 +1591,8 @@ bool Foam::polyMeshGeometry::checkFaceAngles
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkFaceAngles"
-                "(const bool, const scalar,  const pointField&"
-                ", const labelList&, labelHashSet*)"
-            )   << nConcave  << " face points with severe concave angle (> "
+            WarningInFunction
+                << nConcave  << " face points with severe concave angle (> "
                 << maxDeg << " deg) found.\n"
                 << endl;
         }
@@ -1658,13 +1623,8 @@ bool Foam::polyMeshGeometry::checkFaceTwist
 {
     if (minTwist < -1-SMALL || minTwist > 1+SMALL)
     {
-        FatalErrorIn
-        (
-            "polyMeshGeometry::checkFaceTwist"
-            "(const bool, const scalar, const polyMesh&, const pointField&"
-            ", const pointField&, const pointField&, const pointField&"
-            ", const labelList&, labelHashSet*)"
-        )   << "minTwist should be [-1..1] but is now " << minTwist
+        FatalErrorInFunction
+            << "minTwist should be [-1..1] but is now " << minTwist
             << abort(FatalError);
     }
 
@@ -1816,13 +1776,8 @@ bool Foam::polyMeshGeometry::checkFaceTwist
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkFaceTwist"
-                "(const bool, const scalar, const polyMesh&, const pointField&"
-                ", const pointField&, const pointField&, const pointField&"
-                ", const labelList&, labelHashSet*)"
-            )   << nWarped  << " faces with severe warpage "
+            WarningInFunction
+                << nWarped  << " faces with severe warpage "
                 << "(cosine of the angle between triangle normal and "
                 << "face normal < " << minTwist << ") found.\n"
                 << endl;
@@ -1852,12 +1807,8 @@ bool Foam::polyMeshGeometry::checkTriangleTwist
 {
     if (minTwist < -1-SMALL || minTwist > 1+SMALL)
     {
-        FatalErrorIn
-        (
-            "polyMeshGeometry::checkTriangleTwist"
-            "(const bool, const scalar, const polyMesh&, const pointField&"
-            ", const labelList&, labelHashSet*)"
-        )   << "minTwist should be [-1..1] but is now " << minTwist
+        FatalErrorInFunction
+            << "minTwist should be [-1..1] but is now " << minTwist
             << abort(FatalError);
     }
 
@@ -1976,12 +1927,8 @@ bool Foam::polyMeshGeometry::checkTriangleTwist
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkTriangleTwist"
-                "(const bool, const scalar, const polyMesh&"
-                ", const pointField&, const labelList&, labelHashSet*)"
-            )   << nWarped  << " faces with severe warpage "
+            WarningInFunction
+                << nWarped  << " faces with severe warpage "
                 << "(cosine of the angle between consecutive triangle normals"
                 << " < " << minTwist << ") found.\n"
                 << endl;
@@ -2010,12 +1957,8 @@ bool Foam::polyMeshGeometry::checkFaceFlatness
 {
     if (minFlatness < -SMALL || minFlatness > 1+SMALL)
     {
-        FatalErrorIn
-        (
-            "polyMeshGeometry::checkFaceFlatness"
-            "(const bool, const scalar, const polyMesh&, const pointField&"
-            ", const pointField&, const labelList&, labelHashSet*)"
-        )   << "minFlatness should be [0..1] but is now " << minFlatness
+        FatalErrorInFunction
+            << "minFlatness should be [0..1] but is now " << minFlatness
             << abort(FatalError);
     }
 
@@ -2081,13 +2024,8 @@ bool Foam::polyMeshGeometry::checkFaceFlatness
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkFaceFlatness"
-                "(const bool, const scalar, const polyMesh&"
-                ", const pointField&, const pointField&, const labelList&"
-                ", labelHashSet*)"
-            )   << nWarped  << " non-flat faces "
+            WarningInFunction
+                << nWarped  << " non-flat faces "
                 << "(area of invidual triangles"
                 << " compared to overall area"
                 << " < " << minFlatness << ") found.\n"
@@ -2149,12 +2087,8 @@ bool Foam::polyMeshGeometry::checkFaceArea
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkFaceArea"
-                "(const bool, const scalar, const polyMesh&"
-                ", const pointField&, const labelList&, labelHashSet*)"
-            )   << nZeroArea  << " faces with area < " << minArea
+            WarningInFunction
+                << nZeroArea  << " faces with area < " << minArea
                 << " found.\n"
                 << endl;
         }
@@ -2254,13 +2188,8 @@ bool Foam::polyMeshGeometry::checkCellDeterminant
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkCellDeterminant"
-                "(const bool, const scalar, const polyMesh&"
-                ", const pointField&, const labelList&, const labelList&"
-                ", labelHashSet*)"
-            )   << nWarnDet << " cells with determinant < " << warnDet
+            WarningInFunction
+                << nWarnDet << " cells with determinant < " << warnDet
                 << " found.\n"
                 << endl;
         }
diff --git a/src/dynamicMesh/motionSolver/componentDisplacement/componentDisplacementMotionSolver.C b/src/dynamicMesh/motionSolver/componentDisplacement/componentDisplacementMotionSolver.C
index fe902f95a06..19742e25b9e 100644
--- a/src/dynamicMesh/motionSolver/componentDisplacement/componentDisplacementMotionSolver.C
+++ b/src/dynamicMesh/motionSolver/componentDisplacement/componentDisplacementMotionSolver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,12 +55,8 @@ Foam::direction Foam::componentDisplacementMotionSolver::cmpt
     }
     else
     {
-        FatalErrorIn
-        (
-            "componentDisplacementMotionSolver::"
-            "componentDisplacementMotionSolver"
-            "(const polyMesh& mesh, const IOdictionary&)"
-        )   << "Given component name " << cmptName << " should be x, y or z"
+        FatalErrorInFunction
+            << "Given component name " << cmptName << " should be x, y or z"
             << exit(FatalError);
 
         return 0;
@@ -111,15 +107,8 @@ Foam::componentDisplacementMotionSolver::componentDisplacementMotionSolver
 {
     if (points0_.size() != mesh.nPoints())
     {
-        FatalErrorIn
-        (
-            "componentDisplacementMotionSolver::"
-            "componentDisplacementMotionSolver\n"
-            "(\n"
-            "    const polyMesh&,\n"
-            "    const IOdictionary&\n"
-            ")"
-        )   << "Number of points in mesh " << mesh.nPoints()
+        FatalErrorInFunction
+            << "Number of points in mesh " << mesh.nPoints()
             << " differs from number of points " << points0_.size()
             << " read from file "
             <<
@@ -199,11 +188,8 @@ void Foam::componentDisplacementMotionSolver::updateMesh(const mapPolyMesh& mpm)
         }
         else
         {
-            FatalErrorIn
-            (
-                "displacementLaplacianFvMotionSolver::updateMesh"
-                "(const mapPolyMesh& mpm)"
-            )   << "Cannot work out coordinates of introduced vertices."
+            FatalErrorInFunction
+                << "Cannot work out coordinates of introduced vertices."
                 << " New vertex " << pointI << " at coordinate "
                 << points[pointI] << exit(FatalError);
         }
diff --git a/src/dynamicMesh/motionSolver/componentVelocity/componentVelocityMotionSolver.C b/src/dynamicMesh/motionSolver/componentVelocity/componentVelocityMotionSolver.C
index 57781e3bb1e..7d38bcfa541 100644
--- a/src/dynamicMesh/motionSolver/componentVelocity/componentVelocityMotionSolver.C
+++ b/src/dynamicMesh/motionSolver/componentVelocity/componentVelocityMotionSolver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,12 +55,8 @@ Foam::direction Foam::componentVelocityMotionSolver::cmpt
     }
     else
     {
-        FatalErrorIn
-        (
-            "componentVelocityMotionSolver::"
-            "componentVelocityMotionSolver"
-            "(const polyMesh& mesh, const IOdictionary&)"
-        )   << "Given component name " << cmptName << " should be x, y or z"
+        FatalErrorInFunction
+            << "Given component name " << cmptName << " should be x, y or z"
             << exit(FatalError);
 
         return 0;
diff --git a/src/dynamicMesh/motionSolver/displacement/displacementMotionSolver.C b/src/dynamicMesh/motionSolver/displacement/displacementMotionSolver.C
index 6d759d96477..4de8cf656a1 100644
--- a/src/dynamicMesh/motionSolver/displacement/displacementMotionSolver.C
+++ b/src/dynamicMesh/motionSolver/displacement/displacementMotionSolver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -130,16 +130,8 @@ Foam::displacementMotionSolver::displacementMotionSolver
 {
     if (points0_.size() != mesh.nPoints())
     {
-        FatalErrorIn
-        (
-            "displacementMotionSolver::"
-            "displacementMotionSolver\n"
-            "(\n"
-            "    const polyMesh&,\n"
-            "    const IOdictionary&,\n"
-            "    const word&\n"
-            ")"
-        )   << "Number of points in mesh " << mesh.nPoints()
+        FatalErrorInFunction
+            << "Number of points in mesh " << mesh.nPoints()
             << " differs from number of points " << points0_.size()
             << " read from file "
             <<
@@ -222,11 +214,8 @@ void Foam::displacementMotionSolver::updateMesh(const mapPolyMesh& mpm)
         }
         else
         {
-            FatalErrorIn
-            (
-                "displacementMotionSolver::updateMesh"
-                "(const mapPolyMesh&)"
-            )   << "Cannot determine co-ordinates of introduced vertices."
+            FatalErrorInFunction
+                << "Cannot determine co-ordinates of introduced vertices."
                 << " New vertex " << pointI << " at co-ordinate "
                 << points[pointI] << exit(FatalError);
         }
diff --git a/src/dynamicMesh/motionSolver/motionSolver/motionSolver.C b/src/dynamicMesh/motionSolver/motionSolver/motionSolver.C
index 5613ac6b410..efcaab60e1e 100644
--- a/src/dynamicMesh/motionSolver/motionSolver/motionSolver.C
+++ b/src/dynamicMesh/motionSolver/motionSolver/motionSolver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -110,10 +110,8 @@ Foam::autoPtr<Foam::motionSolver> Foam::motionSolver::New
 
     if (!dictionaryConstructorTablePtr_)
     {
-        FatalErrorIn
-        (
-            "motionSolver::New(const polyMesh& mesh)"
-        )   << "solver table is empty"
+        FatalErrorInFunction
+            << "solver table is empty"
             << exit(FatalError);
     }
 
@@ -122,10 +120,8 @@ Foam::autoPtr<Foam::motionSolver> Foam::motionSolver::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "motionSolver::New(const polyMesh&)"
-        )   << "Unknown solver type "
+        FatalErrorInFunction
+            << "Unknown solver type "
             << solverTypeName << nl << nl
             << "Valid solver types are:" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/dynamicMesh/perfectInterface/perfectInterface.C b/src/dynamicMesh/perfectInterface/perfectInterface.C
index 56fc14cdc72..3cc0179b338 100644
--- a/src/dynamicMesh/perfectInterface/perfectInterface.C
+++ b/src/dynamicMesh/perfectInterface/perfectInterface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -214,10 +214,8 @@ void Foam::perfectInterface::setRefinement
 
         if (!matchOk)
         {
-            FatalErrorIn
-            (
-                "perfectInterface::setRefinement(polyTopoChange& ref) const"
-            )   << "Points on patch sides do not match to within tolerance "
+            FatalErrorInFunction
+                << "Points on patch sides do not match to within tolerance "
                 << typDim << exit(FatalError);
         }
 
@@ -244,10 +242,8 @@ void Foam::perfectInterface::setRefinement
 
     if (!matchOk)
     {
-        FatalErrorIn
-        (
-            "perfectInterface::setRefinement(polyTopoChange& ref) const"
-        )   << "Face centres of patch sides do not match to within tolerance "
+        FatalErrorInFunction
+            << "Face centres of patch sides do not match to within tolerance "
             << typDim << exit(FatalError);
     }
 
@@ -288,10 +284,8 @@ void Foam::perfectInterface::setRefinement
 
         if (affectedFaces.erase(faceI))
         {
-            WarningIn
-            (
-                "perfectInterface::setRefinement(polyTopoChange&) const"
-            )   << "Found face " << faceI << " vertices "
+            WarningInFunction
+                << "Found face " << faceI << " vertices "
                 << mesh.faces()[faceI] << " whose points are"
                 << " used both by master patch and slave patch" << endl;
         }
diff --git a/src/dynamicMesh/polyMeshAdder/faceCoupleInfo.C b/src/dynamicMesh/polyMeshAdder/faceCoupleInfo.C
index 27bea7ae471..02efdeabf00 100644
--- a/src/dynamicMesh/polyMeshAdder/faceCoupleInfo.C
+++ b/src/dynamicMesh/polyMeshAdder/faceCoupleInfo.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -183,7 +183,7 @@ void Foam::faceCoupleInfo::writePointsFaces() const
             }
             else
             {
-                WarningIn("writePointsFaces()")
+                WarningInFunction
                     << "No master face for cut face " << cutFaceI
                     << " at position " << c[cutFaceI].centre(c.points())
                     << endl;
@@ -453,7 +453,7 @@ Foam::label Foam::faceCoupleInfo::mostAlignedCutEdge
 
             if (magEVec < VSMALL)
             {
-                WarningIn("faceCoupleInfo::mostAlignedEdge")
+                WarningInFunction
                     << "Crossing zero sized edge " << edgeI
                     << " coords:" << localPoints[otherPointI]
                     << localPoints[pointI]
@@ -532,11 +532,8 @@ void Foam::faceCoupleInfo::setCutEdgeToPoints(const labelList& cutToMasterEdges)
 
         if (stringedEdges.empty())
         {
-            FatalErrorIn
-            (
-                "faceCoupleInfo::setCutEdgeToPoints"
-                "(const labelList&)"
-            )   << "Did not match all of master edges to cutFace edges"
+            FatalErrorInFunction
+                << "Did not match all of master edges to cutFace edges"
                 << nl
                 << "First unmatched edge:" << masterEdgeI << " endPoints:"
                 << masterPatch().localPoints()[masterE[0]]
@@ -611,11 +608,8 @@ void Foam::faceCoupleInfo::setCutEdgeToPoints(const labelList& cutToMasterEdges)
                 // Check
                 if (oldStart == startVertI)
                 {
-                    FatalErrorIn
-                    (
-                        "faceCoupleInfo::setCutEdgeToPoints"
-                        "(const labelList&)"
-                    )   << " unsplitEdge:" << unsplitEdge
+                    FatalErrorInFunction
+                        << " unsplitEdge:" << unsplitEdge
                         << " does not correspond to split edges "
                         << UIndirectList<edge>(cutEdges, stringedEdges)()
                         << abort(FatalError);
@@ -652,12 +646,8 @@ Foam::label Foam::faceCoupleInfo::matchFaces
 {
     if (f0.size() != f1.size())
     {
-        FatalErrorIn
-        (
-            "faceCoupleInfo::matchFaces"
-            "(const scalar, const face&, const pointField&"
-            ", const face&, const pointField&)"
-        )   << "Different sizes for supposedly matching faces." << nl
+        FatalErrorInFunction
+            << "Different sizes for supposedly matching faces." << nl
             << "f0:" << f0 << " coords:" << UIndirectList<point>(points0, f0)()
             << nl
             << "f1:" << f1 << " coords:" << UIndirectList<point>(points1, f1)()
@@ -708,12 +698,8 @@ Foam::label Foam::faceCoupleInfo::matchFaces
 
     if (matchFp == -1)
     {
-        FatalErrorIn
-        (
-            "faceCoupleInfo::matchFaces"
-            "(const scalar, const face&, const pointField&"
-            ", const face&, const pointField&)"
-        )   << "No unique match between two faces" << nl
+        FatalErrorInFunction
+            << "No unique match between two faces" << nl
             << "Face " << f0 << " coords "
             << UIndirectList<point>(points0, f0)() << nl
             << "Face " << f1 << " coords "
@@ -783,7 +769,7 @@ bool Foam::faceCoupleInfo::matchPointsThroughFaces
             //const point& patchPt = patchPoints[patchPointI];
             //if (mag(cutPt - patchPt) > SMALL)
             //{
-            //    FatalErrorIn("matchPointsThroughFaces")
+            //    FatalErrorInFunction
             //    << "cutP:" << cutPt
             //    << " patchP:" << patchPt
             //    << abort(FatalError);
@@ -1159,11 +1145,8 @@ Foam::label Foam::faceCoupleInfo::growCutFaces
 
                                 const face& nbrF = masterPatch()[masterFaceI];
 
-                                FatalErrorIn
-                                (
-                                    "faceCoupleInfo::growCutFaces"
-                                    "(const labelList&, Map<labelList>&)"
-                                )   << "Cut face "
+                                FatalErrorInFunction
+                                    << "Cut face "
                                     << cutFaces()[faceI].points(cutPoints)
                                     << " has master "
                                     << myMaster
@@ -1240,10 +1223,7 @@ void Foam::faceCoupleInfo::checkMatch(const labelList& cutToMasterEdges) const
 
                         const face& nbrF = masterLocalFaces[masterFaceI];
 
-                        FatalErrorIn
-                        (
-                            "faceCoupleInfo::checkMatch(const labelList&) const"
-                        )
+                        FatalErrorInFunction
                             << "Internal CutEdge " << e
                             << " coord:"
                             << cutLocalPoints[e[0]]
@@ -1535,11 +1515,8 @@ void Foam::faceCoupleInfo::perfectPointMatch
 
     if (!matchedAllFaces)
     {
-        FatalErrorIn
-        (
-            "faceCoupleInfo::perfectPointMatch"
-            "(const scalar, const bool)"
-        )   << "Did not match all of the master faces to the slave faces"
+        FatalErrorInFunction
+            << "Did not match all of the master faces to the slave faces"
             << endl
             << "This usually means that the slave patch and master patch"
             << " do not align to within " << absTol << " metre."
@@ -1685,11 +1662,8 @@ void Foam::faceCoupleInfo::subDivisionMatch
 
     if (!matchedAllPoints)
     {
-        FatalErrorIn
-        (
-            "faceCoupleInfo::subDivisionMatch"
-            "(const polyMesh&, const bool, const scalar)"
-        )   << "Did not match all of the master points to the slave points"
+        FatalErrorInFunction
+            << "Did not match all of the master points to the slave points"
             << endl
             << "This usually means that the slave patch is not a"
             << " subdivision of the master patch"
@@ -1775,11 +1749,8 @@ void Foam::faceCoupleInfo::subDivisionMatch
                     false
                 );
 
-                FatalErrorIn
-                (
-                    "faceCoupleInfo::subDivisionMatch"
-                    "(const polyMesh&, const bool, const scalar)"
-                )   << "Problem in finding cut edges corresponding to"
+                FatalErrorInFunction
+                    << "Problem in finding cut edges corresponding to"
                     << " master edge " << masterEdge
                     << " points:" << masterPoints[masterEdge[0]]
                     << ' ' << masterPoints[masterEdge[1]]
@@ -1884,11 +1855,8 @@ void Foam::faceCoupleInfo::subDivisionMatch
         {
             const face& cutF = cutFaces()[cutFaceI];
 
-            FatalErrorIn
-            (
-                "faceCoupleInfo::subDivisionMatch"
-                "(const polyMesh&, const bool, const scalar)"
-            )   << "Did not match all of cutFaces to a master face" << nl
+            FatalErrorInFunction
+                << "Did not match all of cutFaces to a master face" << nl
                 << "First unmatched cut face:" << cutFaceI << " with points:"
                 << UIndirectList<point>(cutFaces().points(), cutF)()
                 << nl
@@ -2042,11 +2010,8 @@ Foam::faceCoupleInfo::faceCoupleInfo
 {
     if (perfectMatch && (masterAddressing.size() != slaveAddressing.size()))
     {
-        FatalErrorIn
-        (
-            "faceCoupleInfo::faceCoupleInfo(const primitiveMesh&"
-            ", const primitiveMesh&, const scalar, const bool"
-        )   << "Perfect match specified but number of master and slave faces"
+        FatalErrorInFunction
+            << "Perfect match specified but number of master and slave faces"
             << " differ." << endl
             << "master:" << masterAddressing.size()
             << "  slave:" << slaveAddressing.size()
@@ -2059,11 +2024,8 @@ Foam::faceCoupleInfo::faceCoupleInfo
      && min(masterAddressing) < masterMesh.nInternalFaces()
     )
     {
-        FatalErrorIn
-        (
-            "faceCoupleInfo::faceCoupleInfo(const primitiveMesh&"
-            ", const primitiveMesh&, const scalar, const bool"
-        )   << "Supplied internal face on master mesh to couple." << nl
+        FatalErrorInFunction
+            << "Supplied internal face on master mesh to couple." << nl
             << "Faces to be coupled have to be boundary faces."
             << abort(FatalError);
     }
@@ -2073,11 +2035,8 @@ Foam::faceCoupleInfo::faceCoupleInfo
      && min(slaveAddressing) < slaveMesh.nInternalFaces()
     )
     {
-        FatalErrorIn
-        (
-            "faceCoupleInfo::faceCoupleInfo(const primitiveMesh&"
-            ", const primitiveMesh&, const scalar, const bool"
-        )   << "Supplied internal face on slave mesh to couple." << nl
+        FatalErrorInFunction
+            << "Supplied internal face on slave mesh to couple." << nl
             << "Faces to be coupled have to be boundary faces."
             << abort(FatalError);
     }
diff --git a/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C b/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C
index c5d24780d3a..d018a3baa51 100644
--- a/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C
+++ b/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -381,12 +381,8 @@ Foam::labelList Foam::polyMeshAdder::getFaceOrder
     {
         if (oldToNew[faceI] == -1)
         {
-            FatalErrorIn
-            (
-                "polyMeshAdder::getFaceOrder"
-                "(const cellList&, const label, const labelList&"
-                ", const labelList&) const"
-            )   << "Did not determine new position"
+            FatalErrorInFunction
+                << "Did not determine new position"
                 << " for face " << faceI
                 << abort(FatalError);
         }
@@ -2041,7 +2037,7 @@ Foam::Map<Foam::label> Foam::polyMeshAdder::findSharedPoints
             // Check just to make sure.
             if (findIndex(connectedPointLabels, pointI) != -1)
             {
-                FatalErrorIn("polyMeshAdder::findSharedPoints(..)")
+                FatalErrorInFunction
                     << "Duplicate point in sharedPoint addressing." << endl
                     << "When trying to add point " << pointI << " on shared "
                     << sharedI  << " with connected points "
diff --git a/src/dynamicMesh/polyTopoChange/polyMeshModifier/polyMeshModifierNew.C b/src/dynamicMesh/polyTopoChange/polyMeshModifier/polyMeshModifierNew.C
index 6583dc408d0..23f90fefca8 100644
--- a/src/dynamicMesh/polyTopoChange/polyMeshModifier/polyMeshModifierNew.C
+++ b/src/dynamicMesh/polyTopoChange/polyMeshModifier/polyMeshModifierNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,10 +51,8 @@ Foam::autoPtr<Foam::polyMeshModifier> Foam::polyMeshModifier::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "polyMeshModifier::New(const word&, const dictionary&, "
-            "const label, const polyMesh&)",
             dict
         )   << "Unknown polyMeshModifier type "
             << modifierType << nl << nl
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddFace.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddFace.H
index 5bbf6698cff..a6f3bc2e895 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddFace.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddFace.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -140,22 +140,7 @@ public:
         {
             if (face_.size() < 3)
             {
-                FatalErrorIn
-                (
-                    "polyAddFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label owner,"
-                    "    const label neighbour,\n"
-                    "    const label masterPointID,\n"
-                    "    const label masterEdgeID,\n"
-                    "    const label masterFaceID,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Invalid face: less than 3 points.  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << "Face: " << face_
                     << " masterPointID:" << masterPointID_
@@ -169,22 +154,7 @@ public:
 
             if (min(face_) < 0)
             {
-                FatalErrorIn
-                (
-                    "polyAddFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label owner,"
-                    "    const label neighbour,\n"
-                    "    const label masterPointID,\n"
-                    "    const label masterEdgeID,\n"
-                    "    const label masterFaceID,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Face contains invalid vertex ID: " << face_ << ".  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << "Face: " << face_
                     << " masterPointID:" << masterPointID_
@@ -198,22 +168,7 @@ public:
 
             if (min(owner_, neighbour_) >= 0 && owner_ == neighbour_)
             {
-                FatalErrorIn
-                (
-                    "polyAddFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label owner,"
-                    "    const label neighbour,\n"
-                    "    const label masterPointID,\n"
-                    "    const label masterEdgeID,\n"
-                    "    const label masterFaceID,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Face owner and neighbour are identical.  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << "Face: " << face_
                     << " masterPointID:" << masterPointID_
@@ -227,22 +182,7 @@ public:
 
             if (neighbour_ >= 0 && patchID >= 0)
             {
-                FatalErrorIn
-                (
-                    "polyAddFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label owner,"
-                    "    const label neighbour,\n"
-                    "    const label masterPointID,\n"
-                    "    const label masterEdgeID,\n"
-                    "    const label masterFaceID,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Patch face has got a neighbour.  Patch ID: " << patchID
+                FatalErrorInFunction
                     << ".  This is not allowed.\n"
                     << "Face: " << face_
                     << " masterPointID:" << masterPointID_
@@ -256,21 +196,7 @@ public:
 
             if (owner_ < 0 && zoneID < 0)
             {
-                FatalErrorIn
-                (
-                    "polyAddFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label owner,"
-                    "    const label neighbour,\n"
-                    "    const label masterPointID,\n"
-                    "    const label masterEdgeID,\n"
-                    "    const label masterFaceID,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const label zoneID"
-                    ")"
-                )   << "Face has no owner and is not in a zone.  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << "Face: " << face_
                     << "Face: " << face_
@@ -285,22 +211,7 @@ public:
 
             if (zoneID_ == -1 && zoneFlip)
             {
-                FatalErrorIn
-                (
-                    "polyAddFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label owner,"
-                    "    const label neighbour,\n"
-                    "    const label masterPointID,\n"
-                    "    const label masterEdgeID,\n"
-                    "    const label masterFaceID,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Specified zone flip for a face that does not  "
+                FatalErrorInFunction
                     << "belong to zone.  This is not allowed.\n"
                     << "Face: " << face_
                     << " masterPointID:" << masterPointID_
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddPoint.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddPoint.H
index 82d23185b31..3ec0ed0e7ac 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddPoint.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddPoint.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -99,16 +99,7 @@ public:
         {
             if (zoneID_ < 0 && !inCell)
             {
-                FatalErrorIn
-                (
-                    "polyAddPoint\n"
-                    "(\n"
-                    "    const point& p,\n"
-                    "    const label masterPointID,\n"
-                    "    const label zoneID,\n"
-                    "    const bool inCell\n"
-                    ")"
-                )   << "Point is not in a cell and not in a zone.  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << "point: " << p
                     << " master: " << masterPointID_
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C
index 58d39bc3cf7..920585c6eb2 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,7 +39,7 @@ License
 
 namespace Foam
 {
-defineTypeNameAndDebug(addPatchCellLayer, 0);
+    defineTypeNameAndDebug(addPatchCellLayer, 0);
 }
 
 
@@ -705,12 +705,10 @@ void Foam::addPatchCellLayer::calcSidePatch
             if (edgeFaces[edgeI].size() == 1 && sidePatchID[edgeI] == -1)
             {
                 const edge& e = pp.edges()[edgeI];
-                //FatalErrorIn("addPatchCellLayer::calcSidePatch(..)")
-                WarningIn("addPatchCellLayer::calcSidePatch(..)")
+                WarningInFunction
                     << "Have no sidePatchID for edge " << edgeI << " points "
                     << pp.points()[pp.meshPoints()[e[0]]]
                     << pp.points()[pp.meshPoints()[e[1]]]
-                    //<< abort(FatalError);
                     << endl;
             }
         }
@@ -806,12 +804,8 @@ void Foam::addPatchCellLayer::setRefinement
      || pp.size() != nFaceLayers.size()
     )
     {
-        FatalErrorIn
-        (
-            "addPatchCellLayer::setRefinement"
-            "(const scalar, const indirectPrimitivePatch&"
-            ", const labelList&, const vectorField&, polyTopoChange&)"
-        )   << "Size of new points is not same as number of points used by"
+        FatalErrorInFunction
+            << "Size of new points is not same as number of points used by"
             << " the face subset" << endl
             << "  patch.nPoints:" << pp.nPoints()
             << "  displacement:" << firstLayerDisp.size()
@@ -825,12 +819,8 @@ void Foam::addPatchCellLayer::setRefinement
     {
         if (nPointLayers[i] < 0)
         {
-            FatalErrorIn
-            (
-                "addPatchCellLayer::setRefinement"
-                "(const scalar, const indirectPrimitivePatch&"
-                ", const labelList&, const vectorField&, polyTopoChange&)"
-            )   << "Illegal number of layers " << nPointLayers[i]
+            FatalErrorInFunction
+                << "Illegal number of layers " << nPointLayers[i]
                 << " at patch point " << i << abort(FatalError);
         }
     }
@@ -838,12 +828,8 @@ void Foam::addPatchCellLayer::setRefinement
     {
         if (nFaceLayers[i] < 0)
         {
-            FatalErrorIn
-            (
-                "addPatchCellLayer::setRefinement"
-                "(const scalar, const indirectPrimitivePatch&"
-                ", const labelList&, const vectorField&, polyTopoChange&)"
-            )   << "Illegal number of layers " << nFaceLayers[i]
+            FatalErrorInFunction
+                << "Illegal number of layers " << nFaceLayers[i]
                 << " at patch face " << i << abort(FatalError);
         }
     }
@@ -856,12 +842,8 @@ void Foam::addPatchCellLayer::setRefinement
 
             if (nPointLayers[e[0]] > 0 || nPointLayers[e[1]] > 0)
             {
-                FatalErrorIn
-                (
-                    "addPatchCellLayer::setRefinement"
-                    "(const scalar, const indirectPrimitivePatch&"
-                    ", const labelList&, const vectorField&, polyTopoChange&)"
-                )   << "Trying to extrude edge "
+                FatalErrorInFunction
+                    << "Trying to extrude edge "
                     << e.line(pp.localPoints())
                     << " which is non-manifold (has "
                     << globalEdgeFaces[edgeI].size()
@@ -897,13 +879,8 @@ void Foam::addPatchCellLayer::setRefinement
 
                 if (n[meshPointI] != nPointLayers[i])
                 {
-                    FatalErrorIn
-                    (
-                        "addPatchCellLayer::setRefinement"
-                        "(const scalar, const indirectPrimitivePatch&"
-                        ", const labelList&, const vectorField&"
-                        ", polyTopoChange&)"
-                    )   << "At mesh point:" << meshPointI
+                    FatalErrorInFunction
+                        << "At mesh point:" << meshPointI
                         << " coordinate:" << mesh_.points()[meshPointI]
                         << " specified nLayers:" << nPointLayers[i] << endl
                         << "On coupled point a different nLayers:"
@@ -945,13 +922,8 @@ void Foam::addPatchCellLayer::setRefinement
                  && nPointLayers[i] != nFromFace[meshPointI]
                 )
                 {
-                    FatalErrorIn
-                    (
-                        "addPatchCellLayer::setRefinement"
-                        "(const scalar, const indirectPrimitivePatch&"
-                        ", const labelList&, const vectorField&"
-                        ", polyTopoChange&)"
-                    )   << "At mesh point:" << meshPointI
+                    FatalErrorInFunction
+                        << "At mesh point:" << meshPointI
                         << " coordinate:" << mesh_.points()[meshPointI]
                         << " specified nLayers:" << nPointLayers[i] << endl
                         << "but the max nLayers of surrounding faces is:"
@@ -978,13 +950,8 @@ void Foam::addPatchCellLayer::setRefinement
 
                 if (mag(d[meshPointI] - firstLayerDisp[i]) > SMALL)
                 {
-                    FatalErrorIn
-                    (
-                        "addPatchCellLayer::setRefinement"
-                        "(const scalar, const indirectPrimitivePatch&"
-                        ", const labelList&, const vectorField&"
-                        ", polyTopoChange&)"
-                    )   << "At mesh point:" << meshPointI
+                    FatalErrorInFunction
+                        << "At mesh point:" << meshPointI
                         << " coordinate:" << mesh_.points()[meshPointI]
                         << " specified displacement:" << firstLayerDisp[i]
                         << endl
@@ -1014,13 +981,8 @@ void Foam::addPatchCellLayer::setRefinement
                 // First check: pp should be single connected.
                 if (eFaces.size() != 1)
                 {
-                    FatalErrorIn
-                    (
-                        "addPatchCellLayer::setRefinement"
-                        "(const scalar, const indirectPrimitivePatch&"
-                        ", const labelList&, const vectorField&"
-                        ", polyTopoChange&)"
-                    )   << "boundary-edge-to-be-extruded:"
+                    FatalErrorInFunction
+                        << "boundary-edge-to-be-extruded:"
                         << pp.points()[meshPoints[e[0]]]
                         << pp.points()[meshPoints[e[1]]]
                         << " has more than two faces using it:" << eFaces
@@ -1053,14 +1015,8 @@ void Foam::addPatchCellLayer::setRefinement
                             }
                             else
                             {
-                                FatalErrorIn
-                                (
-                                    "addPatchCellLayer::setRefinement"
-                                    "(const scalar"
-                                    ", const indirectPrimitivePatch&"
-                                    ", const labelList&, const vectorField&"
-                                    ", polyTopoChange&)"
-                                )   << "boundary-edge-to-be-extruded:"
+                                FatalErrorInFunction
+                                    << "boundary-edge-to-be-extruded:"
                                     << pp.points()[meshPoints[e[0]]]
                                     << pp.points()[meshPoints[e[1]]]
                                     << " has more than two boundary faces"
@@ -1690,10 +1646,8 @@ void Foam::addPatchCellLayer::setRefinement
                             {
                                 if (!verts.insert(newFace[fp]))
                                 {
-                                    FatalErrorIn
-                                    (
-                                        "addPatchCellLayer::setRefinement(..)"
-                                    )   << "Duplicate vertex in face"
+                                    FatalErrorInFunction
+                                        << "Duplicate vertex in face"
                                         << " to be added." << nl
                                         << "newFace:" << newFace << nl
                                         << "points:"
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/combineFaces.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/combineFaces.C
index e74e8783c4f..da9251c9d98 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/combineFaces.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/combineFaces.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -417,10 +417,8 @@ Foam::face Foam::combineFaces::getOutsideFace
 {
     if (fp.edgeLoops().size() != 1)
     {
-        FatalErrorIn
-        (
-            "combineFaces::getOutsideFace(const indirectPrimitivePatch&)"
-        )   << "Multiple outside loops:" << fp.edgeLoops()
+        FatalErrorInFunction
+            << "Multiple outside loops:" << fp.edgeLoops()
             << abort(FatalError);
     }
 
@@ -434,10 +432,8 @@ Foam::face Foam::combineFaces::getOutsideFace
 
     if (eFaces.size() != 1)
     {
-        FatalErrorIn
-        (
-            "combineFaces::getOutsideFace(const indirectPrimitivePatch&)"
-        )   << "boundary edge:" << bEdgeI
+        FatalErrorInFunction
+            << "boundary edge:" << bEdgeI
             << " points:" << fp.meshPoints()[e[0]]
             << ' ' << fp.meshPoints()[e[1]]
             << " on indirectPrimitivePatch has " << eFaces.size()
@@ -462,11 +458,8 @@ Foam::face Foam::combineFaces::getOutsideFace
 
         if (index0 == -1 || index1 == -1)
         {
-            FatalErrorIn
-            (
-                "combineFaces::getOutsideFace"
-                "(const indirectPrimitivePatch&)"
-            )   << "Cannot find boundary edge:" << e
+            FatalErrorInFunction
+                << "Cannot find boundary edge:" << e
                 << " points:" << fp.meshPoints()[e[0]]
                 << ' ' << fp.meshPoints()[e[1]]
                 << " in edgeLoop:" << outsideLoop << abort(FatalError);
@@ -481,11 +474,8 @@ Foam::face Foam::combineFaces::getOutsideFace
         }
         else
         {
-            FatalErrorIn
-            (
-                "combineFaces::getOutsideFace"
-                "(const indirectPrimitivePatch&)"
-            )   << "Cannot find boundary edge:" << e
+            FatalErrorInFunction
+                << "Cannot find boundary edge:" << e
                 << " points:" << fp.meshPoints()[e[0]]
                 << ' ' << fp.meshPoints()[e[1]]
                 << " on consecutive points in edgeLoop:"
@@ -510,11 +500,8 @@ Foam::face Foam::combineFaces::getOutsideFace
 
         if (index == -1)
         {
-            FatalErrorIn
-            (
-                "combineFaces::getOutsideFace"
-                "(const indirectPrimitivePatch&)"
-            )   << "Cannot find boundary edge:" << e
+            FatalErrorInFunction
+                << "Cannot find boundary edge:" << e
                 << " points:" << fp.meshPoints()[e[0]]
                 << ' ' << fp.meshPoints()[e[1]]
                 << " in face:" << eFaces[0]
@@ -531,11 +518,8 @@ Foam::face Foam::combineFaces::getOutsideFace
         }
         else
         {
-            FatalErrorIn
-            (
-                "combineFaces::getOutsideFace"
-                "(const indirectPrimitivePatch&)"
-            )   << "Cannot find boundary edge:" << e
+            FatalErrorInFunction
+                << "Cannot find boundary edge:" << e
                 << " points:" << fp.meshPoints()[e[0]]
                 << ' ' << fp.meshPoints()[e[1]]
                 << " in face:" << eFaces[0] << " verts:" << localF
@@ -602,12 +586,8 @@ void Foam::combineFaces::setRefinement
 
                 if (patchI == -1 || patches[patchI].coupled())
                 {
-                    FatalErrorIn
-                    (
-                        "combineFaces::setRefinement"
-                        "(const bool, const labelListList&"
-                        ", polyTopoChange&)"
-                    )   << "Can only merge non-coupled boundary faces"
+                    FatalErrorInFunction
+                        << "Can only merge non-coupled boundary faces"
                         << " but found internal or coupled face:"
                         << setFaces[i] << " in set " << setI
                         << abort(FatalError);
@@ -631,11 +611,8 @@ void Foam::combineFaces::setRefinement
 
         if (edgeLoops.size() != 1)
         {
-            FatalErrorIn
-            (
-                "combineFaces::setRefinement"
-                "(const bool, const labelListList&, polyTopoChange&)"
-            )   << "Faces to-be-merged " << setFaces
+            FatalErrorInFunction
+                << "Faces to-be-merged " << setFaces
                 << " do not form a single big face." << nl
                 << abort(FatalError);
         }
@@ -815,11 +792,8 @@ void Foam::combineFaces::updateMesh(const mapPolyMesh& map)
 
                         if (f[fp] < 0)
                         {
-                            FatalErrorIn
-                            (
-                                "combineFaces::updateMesh"
-                                "(const mapPolyMesh&)"
-                            )   << "In set " << setI << " at position " << i
+                            FatalErrorInFunction
+                                << "In set " << setI << " at position " << i
                                 << " with master face "
                                 << masterFace_[setI] << nl
                                 << "the points of the slave face " << faces[i]
@@ -849,12 +823,8 @@ void Foam::combineFaces::setUnrefinement
 {
     if (!undoable_)
     {
-        FatalErrorIn
-        (
-            "combineFaces::setUnrefinement"
-            "(const labelList&, polyTopoChange&"
-            ", Map<label>&, Map<label>&, Map<label>&)"
-        )   << "Can only call setUnrefinement if constructed with"
+        FatalErrorInFunction
+            << "Can only call setUnrefinement if constructed with"
             << " unrefinement capability." << exit(FatalError);
     }
 
@@ -881,12 +851,8 @@ void Foam::combineFaces::setUnrefinement
 
         if (iter == masterToSet.end())
         {
-            FatalErrorIn
-            (
-                "combineFaces::setUnrefinement"
-                "(const labelList&, polyTopoChange&"
-                ", Map<label>&, Map<label>&, Map<label>&)"
-            )   << "Master face " << masterFaceI
+            FatalErrorInFunction
+                << "Master face " << masterFaceI
                 << " is not the master of one of the merge sets"
                 << " or has already been merged"
                 << abort(FatalError);
@@ -902,12 +868,8 @@ void Foam::combineFaces::setUnrefinement
 
         if (faces.empty())
         {
-            FatalErrorIn
-            (
-                "combineFaces::setUnrefinement"
-                "(const labelList&, polyTopoChange&"
-                ", Map<label>&, Map<label>&, Map<label>&)"
-            )   << "Set " << setI << " with master face " << masterFaceI
+            FatalErrorInFunction
+                << "Set " << setI << " with master face " << masterFaceI
                 << " has already been merged." << abort(FatalError);
         }
 
@@ -964,12 +926,8 @@ void Foam::combineFaces::setUnrefinement
 
         if (mesh_.boundaryMesh()[patchI].coupled())
         {
-            FatalErrorIn
-            (
-                "combineFaces::setUnrefinement"
-                "(const labelList&, polyTopoChange&"
-                ", Map<label>&, Map<label>&, Map<label>&)"
-            )   << "Master face " << masterFaceI << " is on coupled patch "
+            FatalErrorInFunction
+                << "Master face " << masterFaceI << " is on coupled patch "
                 << mesh_.boundaryMesh()[patchI].name()
                 << abort(FatalError);
         }
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/edgeCollapser.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/edgeCollapser.C
index ef29a307dba..2bb25c9049a 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/edgeCollapser.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/edgeCollapser.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -635,7 +635,7 @@ Foam::edgeCollapser::collapseType Foam::edgeCollapser::collapseFace
 
     if (middle == -1)
     {
-//        SeriousErrorIn("collapseFace")
+//        SeriousErrorInFunction
 //            << "middle == -1, " << f << " " << d
 //            << endl;//abort(FatalError);
 
@@ -662,10 +662,7 @@ Foam::edgeCollapser::collapseType Foam::edgeCollapser::collapseFace
 
     if (dNeg.size() == 0 || dPos.size() == 0)
     {
-        WarningIn
-        (
-            "Foam::conformalVoronoiMesh::collapseFace"
-        )
+        WarningInFunction
             << "All points on one side of face centre, not collapsing."
             << endl;
     }
@@ -1066,18 +1063,8 @@ Foam::label Foam::edgeCollapser::syncCollapse
 
                 if (!collapsePointToLocation.found(otherVertex))
                 {
-                    FatalErrorIn
-                    (
-                        "syncCollapse\n"
-                        "(\n"
-                        "   const polyMesh&,\n"
-                        "   const globalIndex&,\n"
-                        "   const labelList&,\n"
-                        "   const PackedBoolList&,\n"
-                        "   Map<point>&,\n"
-                        "   List<pointEdgeCollapse>&\n"
-                        ")\n"
-                    )   << masterPointI << " on edge " << edgeI << " " << e
+                    FatalErrorInFunction
+                        << masterPointI << " on edge " << edgeI << " " << e
                         << " is not marked for collapse."
                         << abort(FatalError);
                 }
@@ -1160,11 +1147,8 @@ void Foam::edgeCollapser::filterFace
         }
         else if (collapseIndex == -1)
         {
-            WarningIn
-            (
-                "filterFace"
-                "(const label, const Map<DynamicList<label> >&, face&)"
-            )   << "Point " << pointI << " was not visited by PointEdgeWave"
+            WarningInFunction
+                << "Point " << pointI << " was not visited by PointEdgeWave"
                 << endl;
         }
         else
@@ -1196,32 +1180,23 @@ void Foam::edgeCollapser::filterFace
 
         if (index == fp1)
         {
-            WarningIn
-            (
-                "Foam::edgeCollapser::filterFace(const label faceI, "
-                "face& f) const"
-            )   << "Removing consecutive duplicate vertex in face "
+            WarningInFunction
+                << "Removing consecutive duplicate vertex in face "
                 << f << endl;
             // Don't store current pointI
         }
         else if (index == fp2)
         {
-            WarningIn
-            (
-                "Foam::edgeCollapser::filterFace(const label faceI, "
-                "face& f) const"
-            )   << "Removing non-consecutive duplicate vertex in face "
+            WarningInFunction
+                << "Removing non-consecutive duplicate vertex in face "
                 << f << endl;
             // Don't store current pointI and remove previous
             newFp--;
         }
         else if (index != -1)
         {
-            WarningIn
-            (
-                "Foam::edgeCollapser::filterFace(const label faceI, "
-                "face& f) const"
-            )   << "Pinched face " << f << endl;
+            WarningInFunction
+                << "Pinched face " << f << endl;
             f[newFp++] = pointI;
         }
         else
@@ -1812,15 +1787,8 @@ void Foam::edgeCollapser::consistentCollapse
 
                 if (nFaces < 4)
                 {
-                    FatalErrorIn
-                    (
-                        "consistentCollapse\n"
-                        "(\n"
-                        "   labelList&,\n"
-                        "   Map<point>&,\n"
-                        "   bool&,\n"
-                        ")"
-                    )   << "Cell " << cellI << " " << cFaces << nl
+                    FatalErrorInFunction
+                        << "Cell " << cellI << " " << cFaces << nl
                         << "is " << nFaces << ", "
                         << "but cell collapse has been disabled."
                         << abort(FatalError);
@@ -2045,7 +2013,7 @@ Foam::labelPair Foam::edgeCollapser::markSmallSliverFaces
         }
         else
         {
-            FatalErrorIn("collapseFaces(const polyMesh&, List<labelPair>&)")
+            FatalErrorInFunction
                 << "Face is marked to be collapsed to " << flagCollapseFace
                 << ". Currently can only collapse to point/edge."
                 << abort(FatalError);
@@ -2112,7 +2080,7 @@ Foam::labelPair Foam::edgeCollapser::markFaceZoneEdges
         }
         else
         {
-            FatalErrorIn("collapseFaces(const polyMesh&, List<labelPair>&)")
+            FatalErrorInFunction
                 << "Face is marked to be collapsed to " << flagCollapseFace
                 << ". Currently can only collapse to point/edge."
                 << abort(FatalError);
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/faceCollapser.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/faceCollapser.C
index 8f579fc4f75..0f61fbb5d1d 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/faceCollapser.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/faceCollapser.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -79,7 +79,7 @@ Foam::label Foam::faceCollapser::findEdge
         }
     }
 
-    FatalErrorIn("findEdge") << "Cannot find edge between vertices " << v0
+    FatalErrorInFunction
         << " and " << v1 << " in edge labels " << edgeLabels
         << abort(FatalError);
 
@@ -374,7 +374,7 @@ void Foam::faceCollapser::setRefinement
             OFstream str("conflictingFace.obj");
             meshTools::writeOBJ(str, faceList(1, f), points);
 
-            FatalErrorIn("faceCollapser::setRefinement")
+            FatalErrorInFunction
                 << "Trying to collapse face:" << faceI << " vertices:" << f
                 << " to edges between vertices " << f[fpA] << " and "
                 << f[fpB] << " but " << f[fpB] << " does not seem to be the"
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8.C
index 263afe869fe..6e840a75fb1 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8.C
@@ -81,7 +81,7 @@ void Foam::hexRef8::reorder
 
         if (newI >= len)
         {
-            FatalErrorIn("hexRef8::reorder(..)") << abort(FatalError);
+            FatalErrorInFunction << abort(FatalError);
         }
 
         if (newI >= 0)
@@ -352,10 +352,8 @@ Foam::scalar Foam::hexRef8::getLevel0EdgeLength() const
 {
     if (cellLevel_.size() != mesh_.nCells())
     {
-        FatalErrorIn
-        (
-            "hexRef8::getLevel0EdgeLength() const"
-        )   << "Number of cells in mesh:" << mesh_.nCells()
+        FatalErrorInFunction
+            << "Number of cells in mesh:" << mesh_.nCells()
             << " does not equal size of cellLevel:" << cellLevel_.size()
             << endl
             << "This might be because of a restart with inconsistent cellLevel."
@@ -524,7 +522,7 @@ Foam::scalar Foam::hexRef8::getLevel0EdgeLength() const
 
     if (level0Size == -1)
     {
-        FatalErrorIn("hexRef8::getLevel0EdgeLength()")
+        FatalErrorInFunction
             << "Problem : typEdgeLenSqr:" << typEdgeLenSqr << abort(FatalError);
     }
 
@@ -573,7 +571,7 @@ Foam::label Foam::hexRef8::getAnchorCell
         Perr<< "cell:" << cellI << " anchorPoints:" << cellAnchorPoints[cellI]
             << endl;
 
-        FatalErrorIn("hexRef8::getAnchorCell(..)")
+        FatalErrorInFunction
             << "Could not find point " << pointI
             << " in the anchorPoints for cell " << cellI << endl
             << "Does your original mesh obey the 2:1 constraint and"
@@ -755,7 +753,7 @@ Foam::label Foam::hexRef8::findLevel
                 dumpCell(mesh_.faceNeighbour()[faceI]);
             }
 
-            FatalErrorIn("hexRef8::findLevel(..)")
+            FatalErrorInFunction
                 << "face:" << f
                 << " level:" << UIndirectList<label>(pointLevel_, f)()
                 << " startFp:" << startFp
@@ -783,7 +781,7 @@ Foam::label Foam::hexRef8::findLevel
         dumpCell(mesh_.faceNeighbour()[faceI]);
     }
 
-    FatalErrorIn("hexRef8::findLevel(..)")
+    FatalErrorInFunction
         << "face:" << f
         << " level:" << UIndirectList<label>(pointLevel_, f)()
         << " startFp:" << startFp
@@ -842,7 +840,7 @@ void Foam::hexRef8::checkInternalOrientation
 
     if ((dir & n) < 0)
     {
-        FatalErrorIn("checkInternalOrientation(..)")
+        FatalErrorInFunction
             << "cell:" << cellI << " old face:" << faceI
             << " newFace:" << newFace << endl
             << " coords:" << compactPoints
@@ -857,7 +855,7 @@ void Foam::hexRef8::checkInternalOrientation
 
     if (s < 0.1 || s > 0.9)
     {
-        FatalErrorIn("checkInternalOrientation(..)")
+        FatalErrorInFunction
             << "cell:" << cellI << " old face:" << faceI
             << " newFace:" << newFace << endl
             << " coords:" << compactPoints
@@ -888,7 +886,7 @@ void Foam::hexRef8::checkBoundaryOrientation
 
     if ((dir & n) < 0)
     {
-        FatalErrorIn("checkBoundaryOrientation(..)")
+        FatalErrorInFunction
             << "cell:" << cellI << " old face:" << faceI
             << " newFace:" << newFace
             << " coords:" << compactPoints
@@ -903,7 +901,7 @@ void Foam::hexRef8::checkBoundaryOrientation
 
     if (s < 0.7 || s > 1.3)
     {
-        WarningIn("checkBoundaryOrientation(..)")
+        WarningInFunction
             << "cell:" << cellI << " old face:" << faceI
             << " newFace:" << newFace
             << " coords:" << compactPoints
@@ -1273,7 +1271,7 @@ void Foam::hexRef8::createInternalFaces
                 dumpCell(mesh_.faceNeighbour()[faceI]);
             }
 
-            FatalErrorIn("createInternalFaces(..)")
+            FatalErrorInFunction
                 << "nAnchors:" << nAnchors
                 << " faceI:" << faceI
                 << abort(FatalError);
@@ -1315,7 +1313,7 @@ void Foam::hexRef8::createInternalFaces
 
                         const labelList& cPoints = mesh_.cellPoints(cellI);
 
-                        FatalErrorIn("createInternalFaces(..)")
+                        FatalErrorInFunction
                             << "cell:" << cellI << " cLevel:" << cLevel
                             << " cell points:" << cPoints
                             << " pointLevel:"
@@ -1388,7 +1386,7 @@ void Foam::hexRef8::createInternalFaces
 
                         const labelList& cPoints = mesh_.cellPoints(cellI);
 
-                        FatalErrorIn("createInternalFaces(..)")
+                        FatalErrorInFunction
                             << "cell:" << cellI << " cLevel:" << cLevel
                             << " cell points:" << cPoints
                             << " pointLevel:"
@@ -1672,10 +1670,8 @@ void Foam::hexRef8::checkWantedRefinementLevels
         {
             dumpCell(own);
             dumpCell(nei);
-            FatalErrorIn
-            (
-                "hexRef8::checkWantedRefinementLevels(const labelList&)"
-            )   << "cell:" << own
+            FatalErrorInFunction
+                << "cell:" << own
                 << " current level:" << cellLevel_[own]
                 << " level after refinement:" << ownLevel
                 << nl
@@ -1715,10 +1711,8 @@ void Foam::hexRef8::checkWantedRefinementLevels
             label patchI = mesh_.boundaryMesh().whichPatch(faceI);
 
             dumpCell(own);
-            FatalErrorIn
-            (
-                "hexRef8::checkWantedRefinementLevels(const labelList&)"
-            )   << "Celllevel does not satisfy 2:1 constraint."
+            FatalErrorInFunction
+                << "Celllevel does not satisfy 2:1 constraint."
                 << " On coupled face "
                 << faceI
                 << " on patch " << patchI << " "
@@ -2008,10 +2002,8 @@ Foam::hexRef8::hexRef8(const polyMesh& mesh, const bool readHistory)
 
     if (history_.active() && history_.visibleCells().size() != mesh_.nCells())
     {
-        FatalErrorIn
-        (
-            "hexRef8::hexRef8(const polyMesh&)"
-        )   << "History enabled but number of visible cells "
+        FatalErrorInFunction
+            << "History enabled but number of visible cells "
             << history_.visibleCells().size() << " in "
             << history_.objectPath()
             << " is not equal to the number of cells in the mesh "
@@ -2025,10 +2017,8 @@ Foam::hexRef8::hexRef8(const polyMesh& mesh, const bool readHistory)
      || pointLevel_.size() != mesh_.nPoints()
     )
     {
-        FatalErrorIn
-        (
-            "hexRef8::hexRef8(const polyMesh&)"
-        )   << "Restarted from inconsistent cellLevel or pointLevel files."
+        FatalErrorInFunction
+            << "Restarted from inconsistent cellLevel or pointLevel files."
             << endl
             << "cellLevel file " << cellLevel_.objectPath() << endl
             << "pointLevel file " << pointLevel_.objectPath() << endl
@@ -2127,11 +2117,8 @@ Foam::hexRef8::hexRef8
 {
     if (history_.active() && history_.visibleCells().size() != mesh_.nCells())
     {
-        FatalErrorIn
-        (
-            "hexRef8::hexRef8(const polyMesh&, const labelList&"
-            ", const labelList&, const refinementHistory&)"
-        )   << "History enabled but number of visible cells in it "
+        FatalErrorInFunction
+            << "History enabled but number of visible cells in it "
             << history_.visibleCells().size()
             << " is not equal to the number of cells in the mesh "
             << mesh_.nCells() << abort(FatalError);
@@ -2143,11 +2130,8 @@ Foam::hexRef8::hexRef8
      || pointLevel_.size() != mesh_.nPoints()
     )
     {
-        FatalErrorIn
-        (
-            "hexRef8::hexRef8(const polyMesh&, const labelList&"
-            ", const labelList&, const refinementHistory&)"
-        )   << "Incorrect cellLevel or pointLevel size." << endl
+        FatalErrorInFunction
+            << "Incorrect cellLevel or pointLevel size." << endl
             << "Number of cells in mesh:" << mesh_.nCells()
             << " does not equal size of cellLevel:" << cellLevel_.size() << endl
             << "Number of points in mesh:" << mesh_.nPoints()
@@ -2246,11 +2230,8 @@ Foam::hexRef8::hexRef8
      || pointLevel_.size() != mesh_.nPoints()
     )
     {
-        FatalErrorIn
-        (
-            "hexRef8::hexRef8(const polyMesh&, const labelList&"
-            ", const labelList&)"
-        )   << "Incorrect cellLevel or pointLevel size." << endl
+        FatalErrorInFunction
+            << "Incorrect cellLevel or pointLevel size." << endl
             << "Number of cells in mesh:" << mesh_.nCells()
             << " does not equal size of cellLevel:" << cellLevel_.size() << endl
             << "Number of points in mesh:" << mesh_.nPoints()
@@ -2362,12 +2343,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement
 
     if (maxFaceDiff <= 0)
     {
-        FatalErrorIn
-        (
-            "hexRef8::consistentSlowRefinement"
-            "(const label, const labelList&, const labelList&"
-            ", const label, const labelList&)"
-        )   << "Illegal maxFaceDiff " << maxFaceDiff << nl
+        FatalErrorInFunction
+            << "Illegal maxFaceDiff " << maxFaceDiff << nl
             << "Value should be >= 1" << exit(FatalError);
     }
 
@@ -2425,12 +2402,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement
         if (allFaceInfo[faceI].valid(dummyTrackData))
         {
             // Can only occur if face has already gone through loop below.
-            FatalErrorIn
-            (
-                "hexRef8::consistentSlowRefinement"
-                "(const label, const labelList&, const labelList&"
-                ", const label, const labelList&)"
-            )   << "Argument facesToCheck seems to have duplicate entries!"
+            FatalErrorInFunction
+                << "Argument facesToCheck seems to have duplicate entries!"
                 << endl
                 << "face:" << faceI << " occurs at positions "
                 << findIndices(facesToCheck, faceI)
@@ -2723,12 +2696,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement
             {
                 dumpCell(own);
                 dumpCell(nei);
-                FatalErrorIn
-                (
-                    "hexRef8::consistentSlowRefinement"
-                    "(const label, const labelList&, const labelList&"
-                    ", const label, const labelList&)"
-                )   << "cell:" << own
+                FatalErrorInFunction
+                    << "cell:" << own
                     << " current level:" << cellLevel_[own]
                     << " current refData:" << allCellInfo[own]
                     << " level after refinement:" << ownLevel
@@ -2784,12 +2753,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement
                 dumpCell(own);
                 label patchI = mesh_.boundaryMesh().whichPatch(faceI);
 
-                FatalErrorIn
-                (
-                    "hexRef8::consistentSlowRefinement"
-                    "(const label, const labelList&, const labelList&"
-                    ", const label, const labelList&)"
-                )   << "Celllevel does not satisfy 2:1 constraint."
+                FatalErrorInFunction
+                    << "Celllevel does not satisfy 2:1 constraint."
                     << " On coupled face "
                     << faceI
                     << " refData:" << allFaceInfo[faceI]
@@ -2859,11 +2824,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2
 
     if (maxFaceDiff <= 0)
     {
-        FatalErrorIn
-        (
-            "hexRef8::consistentSlowRefinement2"
-            "(const label, const labelList&, const labelList&)"
-        )   << "Illegal maxFaceDiff " << maxFaceDiff << nl
+        FatalErrorInFunction
+            << "Illegal maxFaceDiff " << maxFaceDiff << nl
             << "Value should be >= 1" << exit(FatalError);
     }
 
@@ -2926,11 +2888,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2
         if (allFaceInfo[faceI].valid(dummyTrackData))
         {
             // Can only occur if face has already gone through loop below.
-            FatalErrorIn
-            (
-                "hexRef8::consistentSlowRefinement2"
-                "(const label, const labelList&, const labelList&)"
-            )   << "Argument facesToCheck seems to have duplicate entries!"
+            FatalErrorInFunction
+                << "Argument facesToCheck seems to have duplicate entries!"
                 << endl
                 << "face:" << faceI << " occurs at positions "
                 << findIndices(facesToCheck, faceI)
@@ -3262,11 +3221,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2
                 if (refineCell.get(cellI) && !savedRefineCell.get(cellI))
                 {
                     dumpCell(cellI);
-                    FatalErrorIn
-                    (
-                        "hexRef8::consistentSlowRefinement2"
-                        "(const label, const labelList&, const labelList&)"
-                    )   << "Cell:" << cellI << " cc:"
+                    FatalErrorInFunction
+                        << "Cell:" << cellI << " cc:"
                         << mesh_.cellCentres()[cellI]
                         << " was not marked for refinement but does not obey"
                         << " 2:1 constraints."
@@ -3741,11 +3697,8 @@ Foam::labelListList Foam::hexRef8::setRefinement
                     if (nAnchorPoints[cellI] == 8)
                     {
                         dumpCell(cellI);
-                        FatalErrorIn
-                        (
-                            "hexRef8::setRefinement(const labelList&"
-                            ", polyTopoChange&)"
-                        )   << "cell " << cellI
+                        FatalErrorInFunction
+                            << "cell " << cellI
                             << " of level " << cellLevel_[cellI]
                             << " uses more than 8 points of equal or"
                             << " lower level" << nl
@@ -3768,11 +3721,8 @@ Foam::labelListList Foam::hexRef8::setRefinement
 
                     const labelList& cPoints = mesh_.cellPoints(cellI);
 
-                    FatalErrorIn
-                    (
-                        "hexRef8::setRefinement(const labelList&"
-                        ", polyTopoChange&)"
-                    )   << "cell " << cellI
+                    FatalErrorInFunction
+                        << "cell " << cellI
                         << " of level " << cellLevel_[cellI]
                         << " does not seem to have 8 points of equal or"
                         << " lower level" << endl
@@ -4247,7 +4197,7 @@ Foam::labelListList Foam::hexRef8::setRefinement
 
         if (minPointI != labelMax && minPointI != mesh_.nPoints())
         {
-            FatalErrorIn("hexRef8::setRefinement(..)")
+            FatalErrorInFunction
                 << "Added point labels not consecutive to existing mesh points."
                 << nl
                 << "mesh_.nPoints():" << mesh_.nPoints()
@@ -4420,7 +4370,7 @@ void Foam::hexRef8::updateMesh
 
             if (fnd == savedCellLevel_.end())
             {
-                FatalErrorIn("hexRef8::updateMesh(const mapPolyMesh&)")
+                FatalErrorInFunction
                     << "Problem : trying to restore old value for new cell "
                     << newCellI << " but cannot find old cell " << storedCellI
                     << " in map of stored values " << savedCellLevel_
@@ -4431,7 +4381,7 @@ void Foam::hexRef8::updateMesh
 
         //if (findIndex(cellLevel_, -1) != -1)
         //{
-        //    WarningIn("hexRef8::updateMesh(const mapPolyMesh&)")
+        //    WarningInFunction
         //        << "Problem : "
         //        << "cellLevel_ contains illegal value -1 after mapping
         //        << " at cell " << findIndex(cellLevel_, -1) << endl
@@ -4465,7 +4415,7 @@ void Foam::hexRef8::updateMesh
 
                 if (oldPointI == -1)
                 {
-                    //FatalErrorIn("hexRef8::updateMesh(const mapPolyMesh&)")
+                    //FatalErrorInFunction
                     //    << "Problem : point " << newPointI
                     //    << " at " << mesh_.points()[newPointI]
                     //    << " does not originate from another point"
@@ -4493,7 +4443,7 @@ void Foam::hexRef8::updateMesh
 
             if (fnd == savedPointLevel_.end())
             {
-                FatalErrorIn("hexRef8::updateMesh(const mapPolyMesh&)")
+                FatalErrorInFunction
                     << "Problem : trying to restore old value for new point "
                     << newPointI << " but cannot find old point "
                     << storedPointI
@@ -4505,7 +4455,7 @@ void Foam::hexRef8::updateMesh
 
         //if (findIndex(pointLevel_, -1) != -1)
         //{
-        //    WarningIn("hexRef8::updateMesh(const mapPolyMesh&)")
+        //    WarningInFunction
         //        << "Problem : "
         //        << "pointLevel_ contains illegal value -1 after mapping"
         //        << " at point" << findIndex(pointLevel_, -1) << endl
@@ -4551,11 +4501,8 @@ void Foam::hexRef8::subset
 
     if (history_.active())
     {
-        WarningIn
-        (
-            "hexRef8::subset(const labelList&, const labelList&"
-            ", const labelList&)"
-        )   << "Subsetting will not work in combination with unrefinement."
+        WarningInFunction
+            << "Subsetting will not work in combination with unrefinement."
             << nl
             << "Proceed at your own risk." << endl;
     }
@@ -4574,7 +4521,7 @@ void Foam::hexRef8::subset
 
         if (findIndex(cellLevel_, -1) != -1)
         {
-            FatalErrorIn("hexRef8::subset(..)")
+            FatalErrorInFunction
                 << "Problem : "
                 << "cellLevel_ contains illegal value -1 after mapping:"
                 << cellLevel_
@@ -4595,7 +4542,7 @@ void Foam::hexRef8::subset
 
         if (findIndex(pointLevel_, -1) != -1)
         {
-            FatalErrorIn("hexRef8::subset(..)")
+            FatalErrorInFunction
                 << "Problem : "
                 << "pointLevel_ contains illegal value -1 after mapping:"
                 << pointLevel_
@@ -4698,7 +4645,7 @@ void Foam::hexRef8::checkMesh() const
                     if (!cellToFace.insert(labelPair(own, nei[bFaceI]), faceI))
                     {
                         dumpCell(own);
-                        FatalErrorIn("hexRef8::checkMesh()")
+                        FatalErrorInFunction
                             << "Faces do not seem to be correct across coupled"
                             << " boundaries" << endl
                             << "Coupled face " << faceI
@@ -4743,7 +4690,7 @@ void Foam::hexRef8::checkMesh() const
 
                 dumpCell(mesh_.faceOwner()[faceI]);
 
-                FatalErrorIn("hexRef8::checkMesh()")
+                FatalErrorInFunction
                     << "Faces do not seem to be correct across coupled"
                     << " boundaries" << endl
                     << "Coupled face " << faceI
@@ -4785,7 +4732,7 @@ void Foam::hexRef8::checkMesh() const
 
                 label patchI = mesh_.boundaryMesh().whichPatch(faceI);
 
-                FatalErrorIn("hexRef8::checkMesh()")
+                FatalErrorInFunction
                     << "Faces do not seem to be correct across coupled"
                     << " boundaries" << endl
                     << "Coupled face " << faceI
@@ -4835,7 +4782,7 @@ void Foam::hexRef8::checkMesh() const
 
                 label patchI = mesh_.boundaryMesh().whichPatch(faceI);
 
-                FatalErrorIn("hexRef8::checkMesh()")
+                FatalErrorInFunction
                     << "Faces do not seem to be correct across coupled"
                     << " boundaries" << endl
                     << "Coupled face " << faceI
@@ -4876,7 +4823,7 @@ void Foam::hexRef8::checkRefinementLevels
      || pointLevel_.size() != mesh_.nPoints()
     )
     {
-        FatalErrorIn("hexRef8::checkRefinementLevels(const label)")
+        FatalErrorInFunction
             << "cellLevel size should be number of cells"
             << " and pointLevel size should be number of points."<< nl
             << "cellLevel:" << cellLevel_.size()
@@ -4902,10 +4849,8 @@ void Foam::hexRef8::checkRefinementLevels
                 dumpCell(own);
                 dumpCell(nei);
 
-                FatalErrorIn
-                (
-                    "hexRef8::checkRefinementLevels(const label)"
-                )   << "Celllevel does not satisfy 2:1 constraint." << nl
+                FatalErrorInFunction
+                    << "Celllevel does not satisfy 2:1 constraint." << nl
                     << "On face " << faceI << " owner cell " << own
                     << " has refinement " << cellLevel_[own]
                     << " neighbour cell " << nei << " has refinement "
@@ -4939,10 +4884,8 @@ void Foam::hexRef8::checkRefinementLevels
 
                 label patchI = mesh_.boundaryMesh().whichPatch(faceI);
 
-                FatalErrorIn
-                (
-                    "hexRef8::checkRefinementLevels(const label)"
-                )   << "Celllevel does not satisfy 2:1 constraint."
+                FatalErrorInFunction
+                    << "Celllevel does not satisfy 2:1 constraint."
                     << " On coupled face " << faceI
                     << " on patch " << patchI << " "
                     << mesh_.boundaryMesh()[patchI].name()
@@ -4975,10 +4918,8 @@ void Foam::hexRef8::checkRefinementLevels
         {
             if (pointLevel_[pointI] != syncPointLevel[pointI])
             {
-                FatalErrorIn
-                (
-                    "hexRef8::checkRefinementLevels(const label)"
-                )   << "PointLevel is not consistent across coupled patches."
+                FatalErrorInFunction
+                    << "PointLevel is not consistent across coupled patches."
                     << endl
                     << "point:" << pointI << " coord:" << mesh_.points()[pointI]
                     << " has level " << pointLevel_[pointI]
@@ -5036,10 +4977,8 @@ void Foam::hexRef8::checkRefinementLevels
                 {
                     dumpCell(cellI);
 
-                    FatalErrorIn
-                    (
-                        "hexRef8::checkRefinementLevels(const label)"
-                    )   << "Too big a difference between"
+                    FatalErrorInFunction
+                        << "Too big a difference between"
                         << " point-connected cells." << nl
                         << "cell:" << cellI
                         << " cellLevel:" << cellLevel_[cellI]
@@ -5110,10 +5049,8 @@ void Foam::hexRef8::checkRefinementLevels
     //
     //    if (returnReduce(nHanging, sumOp<label>()) > 0)
     //    {
-    //        FatalErrorIn
-    //        (
-    //            "hexRef8::checkRefinementLevels(const label)"
-    //        )   << "Detected a point used by two edges only (hanging point)"
+    //        FatalErrorInFunction
+    //            << "Detected a point used by two edges only (hanging point)"
     //            << nl << "This is not allowed"
     //            << abort(FatalError);
     //    }
@@ -5204,7 +5141,7 @@ Foam::labelList Foam::hexRef8::getSplitPoints() const
 
     if (!history_.active())
     {
-        FatalErrorIn("hexRef8::getSplitPoints()")
+        FatalErrorInFunction
             << "Only call if constructed with history capability"
             << abort(FatalError);
     }
@@ -5405,10 +5342,8 @@ Foam::labelList Foam::hexRef8::consistentUnrefinement
 
     if (maxSet)
     {
-        FatalErrorIn
-        (
-            "hexRef8::consistentUnrefinement(const labelList&, const bool"
-        )   << "maxSet not implemented yet."
+        FatalErrorInFunction
+            << "maxSet not implemented yet."
             << abort(FatalError);
     }
 
@@ -5478,13 +5413,13 @@ Foam::labelList Foam::hexRef8::consistentUnrefinement
                     // could also combine with unset:
                     // if (!unrefineCell.unset(own))
                     // {
-                    //     FatalErrorIn("hexRef8::consistentUnrefinement(..)")
+                    //     FatalErrorInFunction
                     //         << "problem cell already unset"
                     //         << abort(FatalError);
                     // }
                     if (unrefineCell.get(own) == 0)
                     {
-                        FatalErrorIn("hexRef8::consistentUnrefinement(..)")
+                        FatalErrorInFunction
                             << "problem" << abort(FatalError);
                     }
 
@@ -5502,7 +5437,7 @@ Foam::labelList Foam::hexRef8::consistentUnrefinement
                 {
                     if (unrefineCell.get(nei) == 0)
                     {
-                        FatalErrorIn("hexRef8::consistentUnrefinement(..)")
+                        FatalErrorInFunction
                             << "problem" << abort(FatalError);
                     }
 
@@ -5538,7 +5473,7 @@ Foam::labelList Foam::hexRef8::consistentUnrefinement
                 {
                     if (unrefineCell.get(own) == 0)
                     {
-                        FatalErrorIn("hexRef8::consistentUnrefinement(..)")
+                        FatalErrorInFunction
                             << "problem" << abort(FatalError);
                     }
 
@@ -5552,7 +5487,7 @@ Foam::labelList Foam::hexRef8::consistentUnrefinement
                 {
                     if (unrefineCell.get(own) == 1)
                     {
-                        FatalErrorIn("hexRef8::consistentUnrefinement(..)")
+                        FatalErrorInFunction
                             << "problem" << abort(FatalError);
                     }
 
@@ -5635,10 +5570,8 @@ void Foam::hexRef8::setUnrefinement
 {
     if (!history_.active())
     {
-        FatalErrorIn
-        (
-            "hexRef8::setUnrefinement(const labelList&, polyTopoChange&)"
-        )   << "Only call if constructed with history capability"
+        FatalErrorInFunction
+            << "Only call if constructed with history capability"
             << abort(FatalError);
     }
 
@@ -5653,14 +5586,8 @@ void Foam::hexRef8::setUnrefinement
         {
             if (cellLevel_[cellI] < 0)
             {
-                FatalErrorIn
-                (
-                    "hexRef8::setUnrefinement"
-                    "("
-                        "const labelList&, "
-                        "polyTopoChange&"
-                    ")"
-                )   << "Illegal cell level " << cellLevel_[cellI]
+                FatalErrorInFunction
+                    << "Illegal cell level " << cellLevel_[cellI]
                     << " for cell " << cellI
                     << abort(FatalError);
             }
@@ -5722,10 +5649,8 @@ void Foam::hexRef8::setUnrefinement
 
         if (facesToRemove.size() != splitFaces.size())
         {
-            FatalErrorIn
-            (
-                "hexRef8::setUnrefinement(const labelList&, polyTopoChange&)"
-            )   << "Ininitial set of split points to unrefine does not"
+            FatalErrorInFunction
+                << "Ininitial set of split points to unrefine does not"
                 << " seem to be consistent or not mid points of refined cells"
                 << abort(FatalError);
         }
@@ -5746,10 +5671,8 @@ void Foam::hexRef8::setUnrefinement
         // Check
         if (pCells.size() != 8)
         {
-            FatalErrorIn
-            (
-                "hexRef8::setUnrefinement(const labelList&, polyTopoChange&)"
-            )   << "splitPoint " << pointI
+            FatalErrorInFunction
+                << "splitPoint " << pointI
                 << " should have 8 cells using it. It has " << pCells
                 << abort(FatalError);
         }
@@ -5769,7 +5692,7 @@ void Foam::hexRef8::setUnrefinement
 
                 if (region == -1)
                 {
-                    FatalErrorIn("hexRef8::setUnrefinement(..)")
+                    FatalErrorInFunction
                         << "Ininitial set of split points to unrefine does not"
                         << " seem to be consistent or not mid points"
                         << " of refined cells" << nl
@@ -5780,7 +5703,7 @@ void Foam::hexRef8::setUnrefinement
 
                 if (masterCellI != cellRegionMaster[region])
                 {
-                    FatalErrorIn("hexRef8::setUnrefinement(..)")
+                    FatalErrorInFunction
                         << "cell:" << cellI << " on splitPoint:" << pointI
                         << " in region " << region
                         << " has master:" << cellRegionMaster[region]
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/modifyObject/polyModifyFace.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/modifyObject/polyModifyFace.H
index a4c6f284ab5..14f155a5c8a 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/modifyObject/polyModifyFace.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/modifyObject/polyModifyFace.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -130,21 +130,8 @@ public:
         {
             if (face_.size() < 3)
             {
-                FatalErrorIn
-                (
-                    "polyModifyFace::polyModifyFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label faceID,\n"
-                    "    const label owner,\n"
-                    "    const label neighbour,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const bool removeFromZone,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Invalid face: less than 3 points. This is not allowed\n"
+                FatalErrorInFunction
+                    << "Invalid face: less than 3 points. This is not allowed\n"
                     << "Face: " << face_
                     << " faceID:" << faceID_
                     << " owner:" << owner_
@@ -154,21 +141,7 @@ public:
 
             if (min(face_) < 0)
             {
-                FatalErrorIn
-                (
-                    "polyModifyFace::polyModifyFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label faceID,\n"
-                    "    const label owner,\n"
-                    "    const label neighbour,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const bool removeFromZone,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Face contains invalid vertex ID: " << face_ << ".  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << " faceID:" << faceID_
                     << " owner:" << owner_
@@ -178,21 +151,7 @@ public:
 
             if (min(owner_, neighbour_) >= 0 && owner_ == neighbour_)
             {
-                FatalErrorIn
-                (
-                    "polyModifyFace::polyModifyFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label faceID,\n"
-                    "    const label owner,\n"
-                    "    const label neighbour,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const bool removeFromZone,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Face owner and neighbour are identical.  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << "Face: " << face_
                     << " faceID:" << faceID_
@@ -203,21 +162,7 @@ public:
 
             if (neighbour_ >= 0 && patchID_ >= 0)
             {
-                FatalErrorIn
-                (
-                    "polyModifyFace::polyModifyFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label faceID,\n"
-                    "    const label owner,\n"
-                    "    const label neighbour,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const bool removeFromZone,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Patch face has got a neighbour  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << "Face: " << face_
                     << " faceID:" << faceID_
@@ -229,21 +174,7 @@ public:
 
             if (zoneID_ < 0 && zoneFlip )
             {
-                FatalErrorIn
-                (
-                    "polyModifyFace::polyModifyFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label faceID,\n"
-                    "    const label owner,\n"
-                    "    const label neighbour,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const bool removeFromZone,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Specified zone flip for a face that does not  "
+                FatalErrorInFunction
                     << "belong to zone.  This is not allowed.\n"
                     << "Face: " << face_
                     << " faceID:" << faceID_
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/pointEdgeCollapse/pointEdgeCollapseI.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/pointEdgeCollapse/pointEdgeCollapseI.H
index 84a11d1cbe6..f97b9bcdbc9 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/pointEdgeCollapse/pointEdgeCollapseI.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/pointEdgeCollapse/pointEdgeCollapseI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,7 +39,7 @@ inline bool Foam::pointEdgeCollapse::update
 {
     if (!w2.valid(td))
     {
-        FatalErrorIn("pointEdgeCollapse::update(..)")
+        FatalErrorInFunction
             << "problem." << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C
index 97a4ddc11f2..85a167806d8 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -157,7 +157,7 @@ void Foam::polyTopoChange::countMap
         }
         else
         {
-            FatalErrorIn("countMap") << "old:" << oldCellI
+            FatalErrorInFunction
                 << " new:" << newCellI << abort(FatalError);
         }
     }
@@ -323,7 +323,7 @@ Foam::pointField Foam::polyTopoChange::facePoints(const face& f) const
     {
         if (f[fp] < 0 && f[fp] >= points_.size())
         {
-            FatalErrorIn("polyTopoChange::facePoints(const face&) const")
+            FatalErrorInFunction
                 << "Problem." << abort(FatalError);
         }
         points[fp] = points_[f[fp]];
@@ -350,11 +350,8 @@ void Foam::polyTopoChange::checkFace
         }
         else if (patchI == -1 || patchI >= nPatches_)
         {
-            FatalErrorIn
-            (
-                "polyTopoChange::checkFace(const face&, const label"
-                ", const label, const label, const label)"
-            )   << "Face has no neighbour (so external) but does not have"
+            FatalErrorInFunction
+                << "Face has no neighbour (so external) but does not have"
                 << " a valid patch" << nl
                 << "f:" << f
                 << " faceI(-1 if added face):" << faceI
@@ -373,11 +370,8 @@ void Foam::polyTopoChange::checkFace
     {
         if (patchI != -1)
         {
-            FatalErrorIn
-            (
-                "polyTopoChange::checkFace(const face&, const label"
-                ", const label, const label, const label)"
-            )   << "Cannot both have valid patchI and neighbour" << nl
+            FatalErrorInFunction
+                << "Cannot both have valid patchI and neighbour" << nl
                 << "f:" << f
                 << " faceI(-1 if added face):" << faceI
                 << " own:" << own << " nei:" << nei
@@ -393,11 +387,8 @@ void Foam::polyTopoChange::checkFace
 
         if (nei <= own)
         {
-            FatalErrorIn
-            (
-                "polyTopoChange::checkFace(const face&, const label"
-                ", const label, const label, const label)"
-            )   << "Owner cell label should be less than neighbour cell label"
+            FatalErrorInFunction
+                << "Owner cell label should be less than neighbour cell label"
                 << nl
                 << "f:" << f
                 << " faceI(-1 if added face):" << faceI
@@ -415,11 +406,8 @@ void Foam::polyTopoChange::checkFace
 
     if (f.size() < 3 || findIndex(f, -1) != -1)
     {
-        FatalErrorIn
-        (
-            "polyTopoChange::checkFace(const face&, const label"
-            ", const label, const label, const label)"
-        )   << "Illegal vertices in face"
+        FatalErrorInFunction
+            << "Illegal vertices in face"
             << nl
             << "f:" << f
             << " faceI(-1 if added face):" << faceI
@@ -435,11 +423,8 @@ void Foam::polyTopoChange::checkFace
     }
     if (faceI >= 0 && faceI < faces_.size() && faceRemoved(faceI))
     {
-        FatalErrorIn
-        (
-            "polyTopoChange::checkFace(const face&, const label"
-            ", const label, const label, const label)"
-        )   << "Face already marked for removal"
+        FatalErrorInFunction
+            << "Face already marked for removal"
             << nl
             << "f:" << f
             << " faceI(-1 if added face):" << faceI
@@ -457,11 +442,8 @@ void Foam::polyTopoChange::checkFace
     {
         if (f[fp] < points_.size() && pointRemoved(f[fp]))
         {
-            FatalErrorIn
-            (
-                "polyTopoChange::checkFace(const face&, const label"
-                ", const label, const label, const label)"
-            )   << "Face uses removed vertices"
+            FatalErrorInFunction
+                << "Face uses removed vertices"
                 << nl
                 << "f:" << f
                 << " faceI(-1 if added face):" << faceI
@@ -498,15 +480,8 @@ void Foam::polyTopoChange::makeCells
     {
         if (faceOwner_[faceI] < 0)
         {
-            FatalErrorIn
-            (
-                "polyTopoChange::makeCells\n"
-                "(\n"
-                "    const label,\n"
-                "    labelList&,\n"
-                "    labelList&\n"
-                ") const\n"
-            )   << "Face " << faceI << " is active but its owner has"
+            FatalErrorInFunction
+                << "Face " << faceI << " is active but its owner has"
                 << " been deleted. This is usually due to deleting cells"
                 << " without modifying exposed faces to be boundary faces."
                 << exit(FatalError);
@@ -866,12 +841,8 @@ void Foam::polyTopoChange::getFaceOrder
     {
         if (oldToNew[faceI] == -1)
         {
-            FatalErrorIn
-            (
-                "polyTopoChange::getFaceOrder"
-                "(const label, const labelList&, const labelList&)"
-                " const"
-            )   << "Did not determine new position"
+            FatalErrorInFunction
+                << "Did not determine new position"
                 << " for face " << faceI
                 << " owner " << faceOwner_[faceI]
                 << " neighbour " << faceNeighbour_[faceI]
@@ -1010,7 +981,7 @@ void Foam::polyTopoChange::compact
                              || retiredPoints_.found(pointI)
                             )
                             {
-                                FatalErrorIn("polyTopoChange::compact(..)")
+                                FatalErrorInFunction
                                     << "Removed or retired point " << pointI
                                     << " in face " << f
                                     << " at position " << faceI << endl
@@ -1062,7 +1033,7 @@ void Foam::polyTopoChange::compact
                              || retiredPoints_.found(pointI)
                             )
                             {
-                                FatalErrorIn("polyTopoChange::compact(..)")
+                                FatalErrorInFunction
                                     << "Removed or retired point " << pointI
                                     << " in face " << f
                                     << " at position " << faceI << endl
@@ -1077,7 +1048,7 @@ void Foam::polyTopoChange::compact
 
             if (newPointI != nInternalPoints)
             {
-                FatalErrorIn("polyTopoChange::compact(..)")
+                FatalErrorInFunction
                     << "Problem." << abort(FatalError);
             }
             newPointI = nActivePoints;
@@ -1116,7 +1087,7 @@ void Foam::polyTopoChange::compact
 
             if (!faceRemoved(faceI) && f.size() < 3)
             {
-                FatalErrorIn("polyTopoChange::compact(..)")
+                FatalErrorInFunction
                     << "Created illegal face " << f
                     //<< " from face " << oldF
                     << " at position:" << faceI
@@ -1620,11 +1591,8 @@ void Foam::polyTopoChange::resetZones
 
             if (zoneI < 0 || zoneI >= pointZones.size())
             {
-                FatalErrorIn
-                (
-                    "resetZones(const polyMesh&, polyMesh&, labelListList&"
-                    "labelListList&, labelListList&)"
-                )   << "Illegal zoneID " << zoneI << " for point "
+                FatalErrorInFunction
+                    << "Illegal zoneID " << zoneI << " for point "
                     << iter.key() << " coord " << mesh.points()[iter.key()]
                     << abort(FatalError);
             }
@@ -1707,11 +1675,8 @@ void Foam::polyTopoChange::resetZones
 
             if (zoneI < 0 || zoneI >= faceZones.size())
             {
-                FatalErrorIn
-                (
-                    "resetZones(const polyMesh&, polyMesh&, labelListList&"
-                    "labelListList&, labelListList&)"
-                )   << "Illegal zoneID " << zoneI << " for face "
+                FatalErrorInFunction
+                    << "Illegal zoneID " << zoneI << " for face "
                     << iter.key()
                     << abort(FatalError);
             }
@@ -1823,11 +1788,8 @@ void Foam::polyTopoChange::resetZones
 
             if (zoneI >= cellZones.size())
             {
-                FatalErrorIn
-                (
-                    "resetZones(const polyMesh&, polyMesh&, labelListList&"
-                    "labelListList&, labelListList&)"
-                )   << "Illegal zoneID " << zoneI << " for cell "
+                FatalErrorInFunction
+                    << "Illegal zoneID " << zoneI << " for cell "
                     << cellI << abort(FatalError);
             }
 
@@ -2097,7 +2059,7 @@ void Foam::polyTopoChange::compactAndReorder
 {
     if (mesh.boundaryMesh().size() != nPatches_)
     {
-        FatalErrorIn("polyTopoChange::compactAndReorder(..)")
+        FatalErrorInFunction
             << "polyTopoChange was constructed with a mesh with "
             << nPatches_ << " patches." << endl
             << "The mesh now provided has a different number of patches "
@@ -2395,13 +2357,8 @@ void Foam::polyTopoChange::addMesh
 
                 if (newZoneID[cellI] != -1)
                 {
-                    WarningIn
-                    (
-                        "polyTopoChange::addMesh"
-                        "(const polyMesh&, const labelList&,"
-                        "const labelList&, const labelList&,"
-                        "const labelList&)"
-                    )   << "Cell:" << cellI
+                    WarningInFunction
+                        << "Cell:" << cellI
                         << " centre:" << mesh.cellCentres()[cellI]
                         << " is in two zones:"
                         << cellZones[newZoneID[cellI]].name()
@@ -2491,11 +2448,8 @@ void Foam::polyTopoChange::addMesh
 
             if (pp.start() != faces_.size())
             {
-                FatalErrorIn
-                (
-                    "polyTopoChange::polyTopoChange"
-                    "(const polyMesh& mesh, const bool strict)"
-                )   << "Problem : "
+                FatalErrorInFunction
+                    << "Problem : "
                     << "Patch " << pp.name() << " starts at " << pp.start()
                     << endl
                     << "Current face counter at " << faces_.size() << endl
@@ -2676,10 +2630,8 @@ Foam::label Foam::polyTopoChange::setAction(const topoAction& action)
     }
     else
     {
-        FatalErrorIn
-        (
-            "label polyTopoChange::setAction(const topoAction& action)"
-        )   << "Unknown type of topoChange: " << action.type()
+        FatalErrorInFunction
+            << "Unknown type of topoChange: " << action.type()
             << abort(FatalError);
 
         // Dummy return to keep compiler happy
@@ -2726,19 +2678,15 @@ void Foam::polyTopoChange::modifyPoint
 {
     if (pointI < 0 || pointI >= points_.size())
     {
-        FatalErrorIn
-        (
-            "polyTopoChange::modifyPoint(const label, const point&)"
-        )   << "illegal point label " << pointI << endl
+        FatalErrorInFunction
+            << "illegal point label " << pointI << endl
             << "Valid point labels are 0 .. " << points_.size()-1
             << abort(FatalError);
     }
     if (pointRemoved(pointI) || pointMap_[pointI] == -1)
     {
-        FatalErrorIn
-        (
-            "polyTopoChange::modifyPoint(const label, const point&)"
-        )   << "point " << pointI << " already marked for removal"
+        FatalErrorInFunction
+            << "point " << pointI << " already marked for removal"
             << abort(FatalError);
     }
     points_[pointI] = pt;
@@ -2776,7 +2724,7 @@ void Foam::polyTopoChange::movePoints(const pointField& newPoints)
 {
     if (newPoints.size() != points_.size())
     {
-        FatalErrorIn("polyTopoChange::movePoints(const pointField&)")
+        FatalErrorInFunction
             << "illegal pointField size." << endl
             << "Size:" << newPoints.size() << endl
             << "Points in mesh:" << points_.size()
@@ -2798,7 +2746,7 @@ void Foam::polyTopoChange::removePoint
 {
     if (pointI < 0 || pointI >= points_.size())
     {
-        FatalErrorIn("polyTopoChange::removePoint(const label, const label)")
+        FatalErrorInFunction
             << "illegal point label " << pointI << endl
             << "Valid point labels are 0 .. " << points_.size()-1
             << abort(FatalError);
@@ -2810,7 +2758,7 @@ void Foam::polyTopoChange::removePoint
      && (pointRemoved(pointI) || pointMap_[pointI] == -1)
     )
     {
-        FatalErrorIn("polyTopoChange::removePoint(const label, const label)")
+        FatalErrorInFunction
             << "point " << pointI << " already marked for removal" << nl
             << "Point:" << points_[pointI] << " pointMap:" << pointMap_[pointI]
             << abort(FatalError);
@@ -2818,7 +2766,7 @@ void Foam::polyTopoChange::removePoint
 
     if (pointI == mergePointI)
     {
-        FatalErrorIn("polyTopoChange::removePoint(const label, const label)")
+        FatalErrorInFunction
             << "Cannot remove/merge point " << pointI << " onto itself."
             << abort(FatalError);
     }
@@ -2882,7 +2830,7 @@ Foam::label Foam::polyTopoChange::addFace
     else
     {
         // Allow inflate-from-nothing?
-        //FatalErrorIn("polyTopoChange::addFace")
+        //FatalErrorInFunction
         //    << "Need to specify a master point, edge or face"
         //    << "face:" << f << " own:" << own << " nei:" << nei
         //    << abort(FatalError);
@@ -2952,7 +2900,7 @@ void Foam::polyTopoChange::removeFace(const label faceI, const label mergeFaceI)
 {
     if (faceI < 0 || faceI >= faces_.size())
     {
-        FatalErrorIn("polyTopoChange::removeFace(const label, const label)")
+        FatalErrorInFunction
             << "illegal face label " << faceI << endl
             << "Valid face labels are 0 .. " << faces_.size()-1
             << abort(FatalError);
@@ -2964,7 +2912,7 @@ void Foam::polyTopoChange::removeFace(const label faceI, const label mergeFaceI)
      && (faceRemoved(faceI) || faceMap_[faceI] == -1)
     )
     {
-        FatalErrorIn("polyTopoChange::removeFace(const label, const label)")
+        FatalErrorInFunction
             << "face " << faceI
             << " already marked for removal"
             << abort(FatalError);
@@ -3042,7 +2990,7 @@ void Foam::polyTopoChange::removeCell(const label cellI, const label mergeCellI)
 {
     if (cellI < 0 || cellI >= cellMap_.size())
     {
-        FatalErrorIn("polyTopoChange::removeCell(const label, const label)")
+        FatalErrorInFunction
             << "illegal cell label " << cellI << endl
             << "Valid cell labels are 0 .. " << cellMap_.size()-1
             << abort(FatalError);
@@ -3050,7 +2998,7 @@ void Foam::polyTopoChange::removeCell(const label cellI, const label mergeCellI)
 
     if (strict_ && cellMap_[cellI] == -2)
     {
-        FatalErrorIn("polyTopoChange::removeCell(const label, const label)")
+        FatalErrorInFunction
             << "cell " << cellI
             << " already marked for removal"
             << abort(FatalError);
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDataI.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDataI.H
index edf115b3a88..debb1ed094f 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDataI.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDataI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -119,7 +119,7 @@ inline bool Foam::refinementData::updateCell
 {
     if (!valid(td))
     {
-        FatalErrorIn("refinementData::updateCell") << "problem"
+        FatalErrorInFunction
             << abort(FatalError);
         return false;
     }
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDistanceDataI.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDistanceDataI.H
index 28d24017751..954f3eb1eb3 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDistanceDataI.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDistanceDataI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,7 +70,7 @@ inline bool Foam::refinementDistanceData::update
     {
         if (!neighbourInfo.valid(td))
         {
-            FatalErrorIn("refinementDistanceData::update(..)")
+            FatalErrorInFunction
                 << "problem" << abort(FatalError);
         }
         operator=(neighbourInfo);
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.C
index 8e9e844cb5b..6e962bff62d 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -196,7 +196,7 @@ void Foam::refinementHistory::checkIndices() const
     {
         if (visibleCells_[i] < 0 && visibleCells_[i] >= splitCells_.size())
         {
-            FatalErrorIn("refinementHistory::checkIndices() const")
+            FatalErrorInFunction
                 << "Illegal entry " << visibleCells_[i]
                 << " in visibleCells at location" << i << nl
                 << "It points outside the range of splitCells : 0.."
@@ -269,7 +269,7 @@ void Foam::refinementHistory::freeSplitCell(const label index)
 
             if (myPos == -1)
             {
-                FatalErrorIn("refinementHistory::freeSplitCell")
+                FatalErrorInFunction
                     << "Problem: cannot find myself in"
                     << " parents' children" << abort(FatalError);
             }
@@ -334,10 +334,8 @@ Foam::refinementHistory::refinementHistory(const IOobject& io)
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn
-        (
-            "refinementHistory::refinementHistory(const IOobject&)"
-        )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+        WarningInFunction
+            << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
             << " does not support automatic rereading."
             << endl;
     }
@@ -380,11 +378,8 @@ Foam::refinementHistory::refinementHistory
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn
-        (
-            "refinementHistory::refinementHistory"
-            "(const IOobject&, const List<splitCell8>&, const labelList&)"
-        )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+        WarningInFunction
+            << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
             << " does not support automatic rereading."
             << endl;
     }
@@ -427,11 +422,8 @@ Foam::refinementHistory::refinementHistory
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn
-        (
-            "refinementHistory::refinementHistory"
-            "(const IOobject&, const label)"
-        )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+        WarningInFunction
+            << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
             << " does not support automatic rereading."
             << endl;
     }
@@ -555,10 +547,8 @@ void Foam::refinementHistory::updateMesh(const mapPolyMesh& map)
                 // Check not already set
                 if (splitCells_[index].addedCellsPtr_.valid())
                 {
-                    FatalErrorIn
-                    (
-                        "refinementHistory::updateMesh(const mapPolyMesh&)"
-                    )   << "Problem" << abort(FatalError);
+                    FatalErrorInFunction
+                        << "Problem" << abort(FatalError);
                 }
 
                 label newCellI = reverseCellMap[cellI];
@@ -604,11 +594,8 @@ void Foam::refinementHistory::subset
             // Check that cell is live (so its parent has no refinement)
             if (index >= 0 && splitCells_[index].addedCellsPtr_.valid())
             {
-                FatalErrorIn
-                (
-                    "refinementHistory::subset"
-                    "(const labelList&, const labelList&, const labelList&)"
-                )   << "Problem" << abort(FatalError);
+                FatalErrorInFunction
+                    << "Problem" << abort(FatalError);
             }
 
             newVisibleCells[cellI] = index;
@@ -673,10 +660,8 @@ void Foam::refinementHistory::distribute(const mapDistributePolyMesh& map)
 {
     if (!active())
     {
-        FatalErrorIn
-        (
-            "refinementHistory::distribute(const mapDistributePolyMesh&)"
-        )   << "Calling distribute on inactive history" << abort(FatalError);
+        FatalErrorInFunction
+            << "Calling distribute on inactive history" << abort(FatalError);
     }
 
 
@@ -953,7 +938,7 @@ void Foam::refinementHistory::compact()
 
             if (splitCells_[index].parent_ != -2)
             {
-                FatalErrorIn("refinementHistory::compact()")
+                FatalErrorInFunction
                     << "Problem index:" << index
                     << abort(FatalError);
             }
@@ -968,7 +953,7 @@ void Foam::refinementHistory::compact()
              && splitCells_[visibleCells_[cellI]].parent_ == -2
             )
             {
-                FatalErrorIn("refinementHistory::compact()")
+                FatalErrorInFunction
                     << "Problem : visible cell:" << cellI
                     << " is marked as being free." << abort(FatalError);
             }
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.H
index 4d5d854b457..6eca2f6b30c 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.H
@@ -127,7 +127,7 @@ public:
             // Check for assignment to self
             if (this == &s)
             {
-                FatalErrorIn("splitCell8::operator=(const Foam::splitCell8&)")
+                FatalErrorInFunction
                     << "Attempted assignment to self"
                     << abort(FatalError);
             }
@@ -293,7 +293,7 @@ public:
 
             if (index < 0)
             {
-                FatalErrorIn("refinementHistory::parentIndex(const label)")
+                FatalErrorInFunction
                     << "Cell " << cellI << " is not visible"
                     << abort(FatalError);
             }
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/removeCells.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/removeCells.C
index bf5ad0acbe7..b828601178a 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/removeCells.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/removeCells.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -187,11 +187,8 @@ void Foam::removeCells::setRefinement
 
     if (exposedFaceLabels.size() != exposedPatchIDs.size())
     {
-        FatalErrorIn
-        (
-            "removeCells::setRefinement(const labelList&"
-            ", const labelList&, const labelList&, polyTopoChange&)"
-        )   << "Size of exposedFaceLabels " << exposedFaceLabels.size()
+        FatalErrorInFunction
+            << "Size of exposedFaceLabels " << exposedFaceLabels.size()
             << " differs from size of exposedPatchIDs "
             << exposedPatchIDs.size()
             << abort(FatalError);
@@ -206,11 +203,8 @@ void Foam::removeCells::setRefinement
 
         if (patchI < 0 || patchI >= patches.size())
         {
-            FatalErrorIn
-            (
-                "removeCells::setRefinement(const labelList&"
-                ", const labelList&, const labelList&, polyTopoChange&)"
-            )   << "Invalid patch " << patchI
+            FatalErrorInFunction
+                << "Invalid patch " << patchI
                 << " for exposed face " << exposedFaceLabels[i] << endl
                 << "Valid patches 0.." << patches.size()-1
                 << abort(FatalError);
@@ -218,11 +212,8 @@ void Foam::removeCells::setRefinement
 
         if (patches[patchI].coupled())
         {
-            FatalErrorIn
-            (
-                "removeCells::setRefinement(const labelList&"
-                ", const labelList&, const labelList&, polyTopoChange&)"
-            )   << "Trying to put exposed face " << exposedFaceLabels[i]
+            FatalErrorInFunction
+                << "Trying to put exposed face " << exposedFaceLabels[i]
                 << " into a coupled patch : " << patches[patchI].name()
                 << endl
                 << "This is illegal."
@@ -295,12 +286,8 @@ void Foam::removeCells::setRefinement
             {
                 if (newPatchID[faceI] == -1)
                 {
-                    FatalErrorIn
-                    (
-                        "removeCells::setRefinement(const labelList&"
-                        ", const labelList&, const labelList&"
-                        ", polyTopoChange&)"
-                    )   << "No patchID provided for exposed face " << faceI
+                    FatalErrorInFunction
+                        << "No patchID provided for exposed face " << faceI
                         << " on cell " << nei << nl
                         << "Did you provide patch IDs for all exposed faces?"
                         << abort(FatalError);
@@ -344,12 +331,8 @@ void Foam::removeCells::setRefinement
         {
             if (newPatchID[faceI] == -1)
             {
-                FatalErrorIn
-                (
-                    "removeCells::setRefinement(const labelList&"
-                    ", const labelList&, const labelList&"
-                    ", polyTopoChange&)"
-                )   << "No patchID provided for exposed face " << faceI
+                FatalErrorInFunction
+                    << "No patchID provided for exposed face " << faceI
                     << " on cell " << own << nl
                     << "Did you provide patch IDs for all exposed faces?"
                     << abort(FatalError);
@@ -450,12 +433,8 @@ void Foam::removeCells::setRefinement
             {
                 if (newPatchID[faceI] != -1)
                 {
-                    FatalErrorIn
-                    (
-                        "removeCells::setRefinement(const labelList&"
-                        ", const labelList&, const labelList&"
-                        ", polyTopoChange&)"
-                    )   << "new patchID provided for boundary face " << faceI
+                    FatalErrorInFunction
+                        << "new patchID provided for boundary face " << faceI
                         << " even though it is not on a coupled face."
                         << abort(FatalError);
                 }
@@ -491,12 +470,8 @@ void Foam::removeCells::setRefinement
         }
         else if (nFacesUsingPoint[pointI] == 1)
         {
-            WarningIn
-            (
-                "removeCells::setRefinement(const labelList&"
-                ", const labelList&, const labelList&"
-                ", polyTopoChange&)"
-            )   << "point " << pointI << " at coordinate "
+            WarningInFunction
+                << "point " << pointI << " at coordinate "
                 << mesh_.points()[pointI]
                 << " is only used by 1 face after removing cells."
                 << " This probably results in an illegal mesh."
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/removeFaces.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/removeFaces.C
index e639ec9db18..619c7fee527 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/removeFaces.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/removeFaces.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -257,7 +257,7 @@ void Foam::removeFaces::mergeFaces
     if (fp.edgeLoops().size() != 1)
     {
         writeOBJ(fp, mesh_.time().path()/"facesToBeMerged.obj");
-        FatalErrorIn("removeFaces::mergeFaces")
+        FatalErrorInFunction
             << "Cannot merge faces " << faceLabels
             << " into single face since outside vertices " << fp.edgeLoops()
             << " do not form single loop but form " << fp.edgeLoops().size()
@@ -311,7 +311,7 @@ void Foam::removeFaces::mergeFaces
     if (masterIndex == -1)
     {
         writeOBJ(fp, mesh_.time().path()/"facesToBeMerged.obj");
-        FatalErrorIn("removeFaces::mergeFaces")
+        FatalErrorInFunction
             << "Problem" << abort(FatalError);
     }
 
@@ -602,11 +602,8 @@ Foam::label Foam::removeFaces::compatibleRemoves
 
         if (!mesh_.isInternalFace(faceI))
         {
-            FatalErrorIn
-            (
-                "removeFaces::compatibleRemoves(const labelList&"
-                ", labelList&, labelList&, labelList&)"
-            )   << "Not internal face:" << faceI << abort(FatalError);
+            FatalErrorInFunction
+                << "Not internal face:" << faceI << abort(FatalError);
         }
 
 
@@ -706,11 +703,8 @@ Foam::label Foam::removeFaces::compatibleRemoves
 
                 if (cellI < regionMaster[r])
                 {
-                    FatalErrorIn
-                    (
-                        "removeFaces::compatibleRemoves(const labelList&"
-                        ", labelList&, labelList&, labelList&)"
-                    )   << "Not lowest numbered : cell:" << cellI
+                    FatalErrorInFunction
+                        << "Not lowest numbered : cell:" << cellI
                         << " region:" << r
                         << " regionmaster:" << regionMaster[r]
                         << abort(FatalError);
@@ -722,11 +716,8 @@ Foam::label Foam::removeFaces::compatibleRemoves
         {
             if (nCells[region] == 1)
             {
-                FatalErrorIn
-                (
-                    "removeFaces::compatibleRemoves(const labelList&"
-                    ", labelList&, labelList&, labelList&)"
-                )   << "Region " << region
+                FatalErrorInFunction
+                    << "Region " << region
                     << " has only " << nCells[region] << " cells in it"
                     << abort(FatalError);
             }
@@ -792,11 +783,8 @@ void Foam::removeFaces::setRefinement
 
         if (!mesh_.isInternalFace(faceI))
         {
-            FatalErrorIn
-            (
-                "removeFaces::setRefinement(const labelList&"
-                ", const labelList&, const labelList&, polyTopoChange&)"
-            )   << "Face to remove is not internal face:" << faceI
+            FatalErrorInFunction
+                << "Face to remove is not internal face:" << faceI
                 << abort(FatalError);
         }
 
@@ -878,7 +866,7 @@ void Foam::removeFaces::setRefinement
                 {
                     const edge& e = mesh_.edges()[edgeI];
 
-                    FatalErrorIn("removeFaces::setRefinement")
+                    FatalErrorInFunction
                         << "Problem : edge has too few face neighbours:"
                         << eFaces << endl
                         << "edge:" << edgeI
@@ -959,7 +947,7 @@ void Foam::removeFaces::setRefinement
                     if (patch0 != patch1)
                     {
                         // Different patches. Do not merge edge.
-                        WarningIn("removeFaces::setRefinement")
+                        WarningInFunction
                             << "not merging faces " << f0 << " and "
                             << f1 << " across patch boundary edge " << edgeI
                             << endl;
@@ -982,7 +970,7 @@ void Foam::removeFaces::setRefinement
                             < minCos_
                         )
                         {
-                            WarningIn("removeFaces::setRefinement")
+                            WarningInFunction
                                 << "not merging faces " << f0 << " and "
                                 << f1 << " across edge " << edgeI
                                 << endl;
@@ -998,7 +986,7 @@ void Foam::removeFaces::setRefinement
                     const edge& e = mesh_.edges()[edgeI];
 
                     // Only found one boundary face. Problem.
-                    FatalErrorIn("removeFaces::setRefinement")
+                    FatalErrorInFunction
                         << "Problem : edge would have one boundary face"
                         << " and one internal face using it." << endl
                         << "Your remove pattern is probably incorrect." << endl
@@ -1023,7 +1011,7 @@ void Foam::removeFaces::setRefinement
             {
                 const edge& e = mesh_.edges()[edgeI];
 
-                FatalErrorIn("removeFaces::setRefinement")
+                FatalErrorInFunction
                     << "Problem : edge would get 1 face using it only"
                     << " edge:" << edgeI
                     << " nFaces:" << nFacesPerEdge[edgeI]
@@ -1163,7 +1151,7 @@ void Foam::removeFaces::setRefinement
 
             if (nRegion < 1)
             {
-                FatalErrorIn("setRefinement") << "Problem" << abort(FatalError);
+                FatalErrorInFunction << "Problem" << abort(FatalError);
             }
             else if (nRegion == 1)
             {
@@ -1206,7 +1194,7 @@ void Foam::removeFaces::setRefinement
             {
                 if (nbrRegion != myRegion)
                 {
-                    FatalErrorIn("removeFaces::setRefinement")
+                    FatalErrorInFunction
                         << "Inconsistent face region across coupled patches."
                         << endl
                         << "This side has for faceI:" << faceI
@@ -1227,7 +1215,7 @@ void Foam::removeFaces::setRefinement
                 // Second visit of this region.
                 if (toNbrRegion[myRegion] != nbrRegion)
                 {
-                    FatalErrorIn("removeFaces::setRefinement")
+                    FatalErrorInFunction
                         << "Inconsistent face region across coupled patches."
                         << endl
                         << "This side has for faceI:" << faceI
@@ -1288,7 +1276,7 @@ void Foam::removeFaces::setRefinement
         {
             if (nEdgesPerPoint[pointI] == 1)
             {
-                FatalErrorIn("removeFaces::setRefinement")
+                FatalErrorInFunction
                     << "Problem : point would get 1 edge using it only."
                     << " pointI:" << pointI
                     << " coord:" << mesh_.points()[pointI]
@@ -1420,7 +1408,7 @@ void Foam::removeFaces::setRefinement
 
             if (rFaces.size() <= 1)
             {
-                FatalErrorIn("setRefinement")
+                FatalErrorInFunction
                     << "Region:" << regionI
                     << " contains only faces " << rFaces
                     << abort(FatalError);
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/removePoints.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/removePoints.C
index 1fb4e2452a4..154d0e442e8 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/removePoints.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/removePoints.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -462,7 +462,7 @@ void Foam::removePoints::setRefinement
 
                 if (meshPoints != keptPoints)
                 {
-                    FatalErrorIn("setRefinement")
+                    FatalErrorInFunction
                         << "faceI:" << savedFaceLabels_[saveI] << nl
                         << "meshPoints:" << meshPoints << nl
                         << "keptPoints:" << keptPoints << nl
@@ -486,10 +486,8 @@ void Foam::removePoints::updateMesh(const mapPolyMesh& map)
 
                 if (newFaceI == -1)
                 {
-                    FatalErrorIn
-                    (
-                        "removePoints::updateMesh(const mapPolyMesh&)"
-                    )   << "Old face " << savedFaceLabels_[localI]
+                    FatalErrorInFunction
+                        << "Old face " << savedFaceLabels_[localI]
                         << " seems to have dissapeared."
                         << abort(FatalError);
                 }
@@ -514,10 +512,8 @@ void Foam::removePoints::updateMesh(const mapPolyMesh& map)
 
                     if (f[fp] == -1)
                     {
-                        FatalErrorIn
-                        (
-                            "removePoints::updateMesh(const mapPolyMesh&)"
-                        )   << "Old point " << pointI
+                        FatalErrorInFunction
+                            << "Old point " << pointI
                             << " seems to have dissapeared."
                             << abort(FatalError);
                     }
@@ -556,7 +552,7 @@ void Foam::removePoints::updateMesh(const mapPolyMesh& map)
                     // face::operator== takes care of this)
                     if (keptFace != f)
                     {
-                        FatalErrorIn("setRefinement")
+                        FatalErrorInFunction
                             << "faceI:" << savedFaceLabels_[saveI] << nl
                             << "face:" << f << nl
                             << "keptFace:" << keptFace << nl
@@ -588,11 +584,8 @@ void Foam::removePoints::getUnrefimentSet
 {
     if (!undoable_)
     {
-        FatalErrorIn
-        (
-            "removePoints::getUnrefimentSet(const labelList&"
-            ", labelList&, labelList&) const"
-        )   << "removePoints not constructed with"
+        FatalErrorInFunction
+            << "removePoints not constructed with"
             << " unrefinement capability."
             << abort(FatalError);
     }
@@ -606,11 +599,8 @@ void Foam::removePoints::getUnrefimentSet
         undoFacesSet.sync(mesh_);
         if (sz != undoFacesSet.size())
         {
-            FatalErrorIn
-            (
-                "removePoints::getUnrefimentSet(const labelList&"
-                ", labelList&, labelList&) const"
-            )   << "undoFaces not synchronised across coupled faces." << endl
+            FatalErrorInFunction
+                << "undoFaces not synchronised across coupled faces." << endl
                 << "Size before sync:" << sz
                 << "  after sync:" << undoFacesSet.size()
                 << abort(FatalError);
@@ -640,11 +630,8 @@ void Foam::removePoints::getUnrefimentSet
         {
             if (savedFaceLabels_[saveI] < 0)
             {
-                FatalErrorIn
-                (
-                    "removePoints::getUnrefimentSet(const labelList&"
-                    ", labelList&, labelList&) const"
-                )   << "Illegal face label " << savedFaceLabels_[saveI]
+                FatalErrorInFunction
+                    << "Illegal face label " << savedFaceLabels_[saveI]
                     << " at index " << saveI
                     << abort(FatalError);
             }
@@ -661,12 +648,8 @@ void Foam::removePoints::getUnrefimentSet
 
                         if (savedPoints_[savedPointI] == vector::max)
                         {
-                            FatalErrorIn
-                            (
-                                "removePoints::getUnrefimentSet"
-                                "(const labelList&, labelList&, labelList&)"
-                                " const"
-                            )   << "Trying to restore point " << savedPointI
+                            FatalErrorInFunction
+                                << "Trying to restore point " << savedPointI
                                 << " from mesh face " << savedFaceLabels_[saveI]
                                 << " saved face:" << savedFace
                                 << " which has already been undone."
@@ -746,12 +729,8 @@ void Foam::removePoints::getUnrefimentSet
                     {
                         if (savedFace[fp] >= 0)
                         {
-                            FatalErrorIn
-                            (
-                                "removePoints::getUnrefimentSet"
-                                "(const labelList&, labelList&, labelList&)"
-                                " const"
-                            )   << "Problem: on coupled face:"
+                            FatalErrorInFunction
+                                << "Problem: on coupled face:"
                                 << savedFaceLabels_[saveI]
                                 << " fc:"
                                 << mesh_.faceCentres()[savedFaceLabels_[saveI]]
@@ -817,11 +796,8 @@ void Foam::removePoints::setUnrefinement
 {
     if (!undoable_)
     {
-        FatalErrorIn
-        (
-            "removePoints::setUnrefinement(const labelList&"
-            ", labelList&, polyTopoChange&)"
-        )   << "removePoints not constructed with"
+        FatalErrorInFunction
+            << "removePoints not constructed with"
             << " unrefinement capability."
             << abort(FatalError);
     }
@@ -836,11 +812,8 @@ void Foam::removePoints::setUnrefinement
 
         if (savedPoints_[localI] == vector::max)
         {
-            FatalErrorIn
-            (
-                "removePoints::setUnrefinement(const labelList&"
-                ", labelList&, polyTopoChange&)"
-            )   << "Saved point " << localI << " already restored!"
+            FatalErrorInFunction
+                << "Saved point " << localI << " already restored!"
                 << abort(FatalError);
         }
 
@@ -941,7 +914,7 @@ void Foam::removePoints::setUnrefinement
 
                     if (addedPointI != -1)
                     {
-                        FatalErrorIn("setUnrefinement")
+                        FatalErrorInFunction
                             << "Face:" << savedFaceLabels_[saveI]
                             << " savedVerts:" << savedFace
                             << " uses restored point:" << -savedFace[fp]-1
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C
index 57023168bdc..0f65c7889e6 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C
@@ -606,7 +606,7 @@ void Foam::tetDecomposer::setRefinement
                     }
                     else
                     {
-                        FatalErrorIn("tetDecomposer::setRefinement(..)")
+                        FatalErrorInFunction
                             << "problem." << abort(FatalError);
                     }
 
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C b/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C
index 2c7a064b299..05f06958d52 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,7 +49,7 @@ void Foam::polyTopoChanger::readModifiers()
     {
         if (readOpt() == IOobject::MUST_READ_IF_MODIFIED)
         {
-            WarningIn("polyTopoChanger::readModifiers()")
+            WarningInFunction
                 << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
                 << " does not support automatic re-reading."
                 << endl;
@@ -299,13 +299,8 @@ void Foam::polyTopoChanger::addTopologyModifiers
     {
         if (tm[tmI]->topoChanger() != *this)
         {
-            FatalErrorIn
-            (
-                "void polyTopoChanger::addTopologyModifiers"
-                "("
-                    "const List<polyMeshModifier*>&"
-                ")"
-            )   << "Mesh modifier created with different mesh reference."
+            FatalErrorInFunction
+                << "Mesh modifier created with different mesh reference."
                 << abort(FatalError);
         }
         set(tmI, tm[tmI]);
@@ -333,8 +328,7 @@ Foam::label Foam::polyTopoChanger::findModifierID
     // Modifier not found
     if (debug)
     {
-        WarningIn("label polyTopoChanger::findModifierID(const word&) const")
-            << "Modifier named " << modName << " not found.  "
+        WarningInFunction
             << "List of available modifier names: " << names() << endl;
     }
 
diff --git a/src/dynamicMesh/polyTopoChange/repatchPolyTopoChanger/repatchPolyTopoChanger.C b/src/dynamicMesh/polyTopoChange/repatchPolyTopoChanger/repatchPolyTopoChanger.C
index 88d94e73b14..4c1e0855c6b 100644
--- a/src/dynamicMesh/polyTopoChange/repatchPolyTopoChanger/repatchPolyTopoChanger.C
+++ b/src/dynamicMesh/polyTopoChange/repatchPolyTopoChanger/repatchPolyTopoChanger.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -65,10 +65,8 @@ void Foam::repatchPolyTopoChanger::changePatches
 {
     if (meshModPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "repatchPolyTopoChanger::changePatches(const List<polyPatch*>&)"
-        )   << "Cannot change patches after having changed faces. " << nl
+        FatalErrorInFunction
+            << "Cannot change patches after having changed faces. " << nl
             << "Please call changePatches first."
             << exit(FatalError);
     }
@@ -94,14 +92,7 @@ void Foam::repatchPolyTopoChanger::changePatchID
          || mesh_.isInternalFace(faceID)
         )
         {
-            FatalErrorIn
-            (
-                "void Foam::repatchPolyTopoChanger::changePatchID\n"
-                "(\n"
-                "    const label faceID,\n"
-                "    const label patchID\n"
-                ")\n"
-            )   << "Error in definition.  faceID: " << faceID
+            FatalErrorInFunction
                 << " patchID: " << patchID << ".  "
                 << "Labels out of range or internal face."
                 << abort(FatalError);
@@ -149,15 +140,7 @@ void Foam::repatchPolyTopoChanger::setFaceZone
         // Check that the request is possible
         if (faceID > mesh_.faces().size())
         {
-            FatalErrorIn
-            (
-                "void Foam::repatchPolyTopoChanger::setFaceZone"
-                "(\n"
-                "    const label faceID,\n"
-                "    const label zoneID,\n"
-                "    const bool flip\n"
-                ")\n"
-            )   << "Error in definition.  faceID: " << faceID
+            FatalErrorInFunction
                 << "out of range."
                 << abort(FatalError);
         }
@@ -192,15 +175,7 @@ void Foam::repatchPolyTopoChanger::changeAnchorPoint
         // Check that the request is possible
         if (faceID > mesh_.faces().size())
         {
-            FatalErrorIn
-            (
-                "void Foam::repatchPolyTopoChanger::setFaceZone"
-                "(\n"
-                "    const label faceID,\n"
-                "    const label zoneID,\n"
-                "    const bool flip\n"
-                ")\n"
-            )   << "Error in definition.  faceID: " << faceID
+            FatalErrorInFunction
                 << "out of range."
                 << abort(FatalError);
         }
@@ -210,14 +185,8 @@ void Foam::repatchPolyTopoChanger::changeAnchorPoint
 
     if ((fp < 0) || (fp >= f.size()))
     {
-        FatalErrorIn
-        (
-            "void Foam::repatchPolyTopoChanger::changeAnchorPoint"
-            "(\n"
-            "    const label faceID,\n"
-            "    const label fp\n"
-            ")\n"
-        )   << "Error in definition.  Face point: " << fp
+        FatalErrorInFunction
+            << "Error in definition.  Face point: " << fp
             << "indexes out of face " << f
             << abort(FatalError);
     }
diff --git a/src/dynamicMesh/slidingInterface/coupleSlidingInterface.C b/src/dynamicMesh/slidingInterface/coupleSlidingInterface.C
index 12acbb115af..6138a7785b9 100644
--- a/src/dynamicMesh/slidingInterface/coupleSlidingInterface.C
+++ b/src/dynamicMesh/slidingInterface/coupleSlidingInterface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -125,11 +125,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
         )
     )
     {
-        FatalErrorIn
-        (
-            "void slidingInterface::coupleInterface("
-            "polyTopoChange& ref) const"
-        )   << "Point projection addressing not available."
+        FatalErrorInFunction
+            << "Point projection addressing not available."
             << abort(FatalError);
     }
 
@@ -398,11 +395,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
 
     if (!cutPointEdgePairMapPtr_)
     {
-        FatalErrorIn
-        (
-            "void slidingInterface::coupleInterface("
-            "polyTopoChange& ref) const"
-        )   << "Cut point edge pair map pointer not set."
+        FatalErrorInFunction
+            << "Cut point edge pair map pointer not set."
             << abort(FatalError);
     }
 
@@ -1045,11 +1039,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
         }
         else
         {
-            FatalErrorIn
-            (
-                "void slidingInterface::coupleInterface("
-                "polyTopoChange& ref) const"
-            )   << "Face " << faceI << " in cut faces has neither a master "
+            FatalErrorInFunction
+                << "Face " << faceI << " in cut faces has neither a master "
                 << "nor a slave.  Error in the cutting algorithm on modify."
                 << abort(FatalError);
         }
@@ -1173,11 +1164,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
             }
             else
             {
-                FatalErrorIn
-                (
-                    "void slidingInterface::coupleInterface("
-                    "polyTopoChange& ref) const"
-                )   << "Face " << faceI << " in cut faces has neither a master "
+                FatalErrorInFunction
+                    << "Face " << faceI << " in cut faces has neither a master "
                     << "nor a slave.  Error in the cutting algorithm on add."
                     << abort(FatalError);
             }
@@ -1414,12 +1402,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
                                      || max(edgePointWeights) > 1
                                     )
                                     {
-                                        FatalErrorIn
-                                        (
-                                            "void slidingInterface::"
-                                            "coupleInterface("
-                                            "polyTopoChange& ref) const"
-                                        )   << "Error in master stick-out edge "
+                                        FatalErrorInFunction
+                                            << "Error in master stick-out edge "
                                             << "point collection."
                                             << abort(FatalError);
                                     }
@@ -1474,11 +1458,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
         {
             if (newFaceLabels.size() < 3)
             {
-                FatalErrorIn
-                (
-                    "void slidingInterface::coupleInterface("
-                    "polyTopoChange& ref) const"
-                )   << "Face " << curFaceID << " reduced to less than "
+                FatalErrorInFunction
+                    << "Face " << curFaceID << " reduced to less than "
                     << "3 points.  Topological/cutting error A." << nl
                     << "Old face: " << oldFace << " new face: " << newFaceLabels
                     << abort(FatalError);
@@ -1728,12 +1709,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
                                      || max(edgePointWeights) > 1
                                     )
                                     {
-                                        FatalErrorIn
-                                        (
-                                            "void slidingInterface::"
-                                            "coupleInterface("
-                                            "polyTopoChange& ref) const"
-                                        )   << "Error in slave stick-out edge "
+                                        FatalErrorInFunction
+                                            << "Error in slave stick-out edge "
                                             << "point collection."
                                             << abort(FatalError);
                                         }
@@ -1788,11 +1765,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
         {
             if (newFaceLabels.size() < 3)
             {
-                FatalErrorIn
-                (
-                    "void slidingInterface::coupleInterface("
-                    "polyTopoChange& ref) const"
-                )   << "Face " << curFaceID << " reduced to less than "
+                FatalErrorInFunction
+                    << "Face " << curFaceID << " reduced to less than "
                     << "3 points.  Topological/cutting error B." << nl
                     << "Old face: " << oldFace << " new face: " << newFaceLabels
                     << abort(FatalError);
@@ -1866,11 +1840,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
 
     if (!retiredPointMapPtr_)
     {
-        FatalErrorIn
-        (
-            "void slidingInterface::coupleInterface("
-            "polyTopoChange& ref) const"
-        )   << "Retired point map pointer not set."
+        FatalErrorInFunction
+            << "Retired point map pointer not set."
             << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/slidingInterface/decoupleSlidingInterface.C b/src/dynamicMesh/slidingInterface/decoupleSlidingInterface.C
index ef3fd455c7b..43c3e5692ad 100644
--- a/src/dynamicMesh/slidingInterface/decoupleSlidingInterface.C
+++ b/src/dynamicMesh/slidingInterface/decoupleSlidingInterface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -211,11 +211,8 @@ void Foam::slidingInterface::decoupleInterface
         {
             if (newFaceLabels.size() < 3)
             {
-                FatalErrorIn
-                (
-                    "void slidingInterface::decoupleInterface("
-                    "polyTopoChange& ref) const"
-                )   << "Face " << curFaceID << " reduced to less than "
+                FatalErrorInFunction
+                    << "Face " << curFaceID << " reduced to less than "
                     << "3 points.  Topological/cutting error." << nl
                     << "Old face: " << oldFace << " new face: " << newFaceLabels
                     << abort(FatalError);
@@ -341,11 +338,8 @@ void Foam::slidingInterface::decoupleInterface
         {
             if (newFaceLabels.size() < 3)
             {
-                FatalErrorIn
-                (
-                    "void slidingInterface::decoupleInterface("
-                    "polyTopoChange& ref) const"
-                )   << "Face " << curFaceID << " reduced to less than "
+                FatalErrorInFunction
+                    << "Face " << curFaceID << " reduced to less than "
                     << "3 points.  Topological/cutting error." << nl
                     << "Old face: " << oldFace << " new face: " << newFaceLabels
                     << abort(FatalError);
diff --git a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatch.C b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatch.C
index d7f6e830271..7afcb62ae7e 100644
--- a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatch.C
+++ b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,7 +42,7 @@ void Foam::enrichedPatch::calcMeshPoints() const
 {
     if (meshPointsPtr_)
     {
-        FatalErrorIn("void enrichedPatch::calcMeshPoints() const")
+        FatalErrorInFunction
             << "Mesh points already calculated."
             << abort(FatalError);
     }
@@ -58,7 +58,7 @@ void Foam::enrichedPatch::calcLocalFaces() const
 {
     if (localFacesPtr_)
     {
-        FatalErrorIn("void enrichedPatch::calcLocalFaces() const")
+        FatalErrorInFunction
             << "Local faces already calculated."
             << abort(FatalError);
     }
@@ -98,7 +98,7 @@ void Foam::enrichedPatch::calcLocalPoints() const
 {
     if (localPointsPtr_)
     {
-        FatalErrorIn("void enrichedPatch::calcLocalPoints() const")
+        FatalErrorInFunction
             << "Local points already calculated."
             << abort(FatalError);
     }
@@ -233,7 +233,7 @@ bool Foam::enrichedPatch::checkSupport() const
         {
             if (!pointMap().found(curFace[pointI]))
             {
-                WarningIn("void enrichedPatch::checkSupport()")
+                WarningInFunction
                     << "Point " << pointI << " of face " << faceI
                     << " global point index: " << curFace[pointI]
                     << " not supported in point map.  This is not allowed."
diff --git a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchCutFaces.C b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchCutFaces.C
index 6100e9bd306..26450d01f42 100644
--- a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchCutFaces.C
+++ b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchCutFaces.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,7 +51,7 @@ void Foam::enrichedPatch::calcCutFaces() const
 {
     if (cutFacesPtr_ || cutFaceMasterPtr_ || cutFaceSlavePtr_)
     {
-        FatalErrorIn("void enrichedPatch::calcCutFaces() const")
+        FatalErrorInFunction
             << "Cut faces addressing already calculated."
             << abort(FatalError);
     }
@@ -256,11 +256,7 @@ void Foam::enrichedPatch::calcCutFaces() const
 
                         if (magNewDir < SMALL)
                         {
-                            FatalErrorIn
-                            (
-                                "void enrichedPatch::"
-                                "calcCutFaces() const"
-                            )   << "Zero length edge detected.  Probable "
+                            FatalErrorInFunction
                                 << "projection error: slave patch probably "
                                 << "does not project onto master.  "
                                 << "Please switch on "
@@ -617,11 +613,8 @@ void Foam::enrichedPatch::calcCutFaces() const
                                             [faceI - slavePatch_.size()];
                                     }
 
-                                    FatalErrorIn
-                                    (
-                                        "void enrichedPatch::"
-                                        "calcCutFaces() const"
-                                    )   << "Duplicate point found in cut face. "
+                                    FatalErrorInFunction
+                                        << "Duplicate point found in cut face. "
                                         << "Error in the face cutting "
                                         << "algorithm for global face "
                                         << origFace << " local face "
diff --git a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchFaces.C b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchFaces.C
index 4cfb53d4c5d..21291aacf14 100644
--- a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchFaces.C
+++ b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchFaces.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,15 +42,8 @@ void Foam::enrichedPatch::calcEnrichedFaces
 {
     if (enrichedFacesPtr_)
     {
-        FatalErrorIn
-        (
-            "void enrichedPatch::calcEnrichedFaces\n"
-            "(\n"
-            "    const labelListList& pointsIntoMasterEdges,\n"
-            "    const labelListList& pointsIntoSlaveEdges,\n"
-            "    const pointField& projectedSlavePoints\n"
-            ")"
-        )   << "Enriched faces already calculated."
+        FatalErrorInFunction
+            << "Enriched faces already calculated."
             << abort(FatalError);
     }
 
@@ -155,15 +148,8 @@ void Foam::enrichedPatch::calcEnrichedFaces
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "void enrichedPatch::calcEnrichedFaces\n"
-                        "(\n"
-                        "    const labelListList& pointsIntoMasterEdges,\n"
-                        "    const labelListList& pointsIntoSlaveEdges,\n"
-                        "    const pointField& projectedSlavePoints\n"
-                        ")"
-                    )   << "Zero length edge in slave patch for face " << i
+                    FatalErrorInFunction
+                        << "Zero length edge in slave patch for face " << i
                         << ".  This is not allowed."
                         << abort(FatalError);
                 }
@@ -184,15 +170,7 @@ void Foam::enrichedPatch::calcEnrichedFaces
                     // Check weights: all new points should be on the edge
                     if (min(edgePointWeights) < 0 || max(edgePointWeights) > 1)
                     {
-                        FatalErrorIn
-                        (
-                            "void enrichedPatch::calcEnrichedFaces\n"
-                            "(\n"
-                            "    const labelListList& pointsIntoMasterEdges,\n"
-                            "    const labelListList& pointsIntoSlaveEdges,\n"
-                            "    const pointField& projectedSlavePoints\n"
-                            ")"
-                        )   << "Invalid point edge weights.  Some of points are"
+                        FatalErrorInFunction
                             << " not on the edge for edge " << curEdges[i]
                             << " of face " << faceI << " in slave patch." << nl
                             << "Min weight: " << min(edgePointWeights)
@@ -306,15 +284,8 @@ void Foam::enrichedPatch::calcEnrichedFaces
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "void enrichedPatch::calcEnrichedFaces\n"
-                        "(\n"
-                        "    const labelListList& pointsIntoMasterEdges,\n"
-                        "    const labelListList& pointsIntoSlaveEdges,\n"
-                        "    const pointField& projectedSlavePoints\n"
-                        ")"
-                    )   << "Zero length edge in master patch for face " << i
+                    FatalErrorInFunction
+                        << "Zero length edge in master patch for face " << i
                         << ".  This is not allowed."
                         << abort(FatalError);
                 }
@@ -335,15 +306,7 @@ void Foam::enrichedPatch::calcEnrichedFaces
                     // Check weights: all new points should be on the edge
                     if (min(edgePointWeights) < 0 || max(edgePointWeights) > 1)
                     {
-                        FatalErrorIn
-                        (
-                            "void enrichedPatch::calcEnrichedFaces\n"
-                            "(\n"
-                            "    const labelListList& pointsIntoMasterEdges,\n"
-                            "    const labelListList& pointsIntoSlaveEdges,\n"
-                            "    const pointField& projectedSlavePoints\n"
-                            ")"
-                        )   << "Invalid point edge weights.  Some of points are"
+                        FatalErrorInFunction
                             << " not on the edge for edge " << curEdges[i]
                             << " of face " << faceI << " in master patch." << nl
                             << "Min weight: " << min(edgePointWeights)
@@ -403,15 +366,8 @@ void Foam::enrichedPatch::calcEnrichedFaces
         }
         else
         {
-            FatalErrorIn
-            (
-                "void enrichedPatch::calcEnrichedFaces\n"
-                "(\n"
-                "    const labelListList& pointsIntoMasterEdges,\n"
-                "    const labelListList& pointsIntoSlaveEdges,\n"
-                "    const pointField& projectedSlavePoints\n"
-                ")"
-            )   << "Error in enriched patch support"
+            FatalErrorInFunction
+                << "Error in enriched patch support"
                 << abort(FatalError);
         }
     }
@@ -424,8 +380,7 @@ const Foam::faceList& Foam::enrichedPatch::enrichedFaces() const
 {
     if (!enrichedFacesPtr_)
     {
-        FatalErrorIn("const faceList& enrichedPatch::enrichedFaces() const")
-            << "Enriched faces not available yet.  Please use "
+        FatalErrorInFunction
             << "void enrichedPatch::calcEnrichedFaces\n"
             << "(\n"
             << "    const labelListList& pointsIntoMasterEdges,\n"
diff --git a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchMasterPoints.C b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchMasterPoints.C
index 07ad50dc74a..6ca52144199 100644
--- a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchMasterPoints.C
+++ b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchMasterPoints.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ void Foam::enrichedPatch::calcMasterPointFaces() const
 {
     if (masterPointFacesPtr_)
     {
-        FatalErrorIn("void enrichedPatch::calcMasterPointFaces() const")
+        FatalErrorInFunction
             << "Master point face addressing already calculated."
             << abort(FatalError);
     }
diff --git a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointMap.C b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointMap.C
index 27f2ef4e527..a0f0ca0f9dc 100644
--- a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointMap.C
+++ b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointMap.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,7 +31,7 @@ void Foam::enrichedPatch::completePointMap() const
 {
     if (pointMapComplete_)
     {
-        FatalErrorIn("void enrichedPatch::completePointMap() const")
+        FatalErrorInFunction
             << "Point map already completed"
             << abort(FatalError);
     }
diff --git a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointPoints.C b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointPoints.C
index e726ab95b73..f2fd9e3aacc 100644
--- a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointPoints.C
+++ b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointPoints.C
@@ -37,7 +37,7 @@ void Foam::enrichedPatch::calcPointPoints() const
     // Calculate point-point addressing
     if (pointPointsPtr_)
     {
-        FatalErrorIn("void enrichedPatch::calcPointPoints() const")
+        FatalErrorInFunction
             << "Point-point addressing already calculated."
             << abort(FatalError);
     }
diff --git a/src/dynamicMesh/slidingInterface/slidingInterface.C b/src/dynamicMesh/slidingInterface/slidingInterface.C
index cccfbda5d66..79d1faa8912 100644
--- a/src/dynamicMesh/slidingInterface/slidingInterface.C
+++ b/src/dynamicMesh/slidingInterface/slidingInterface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -79,10 +79,8 @@ void Foam::slidingInterface::checkDefinition()
      || !slavePatchID_.active()
     )
     {
-        FatalErrorIn
-        (
-            "void slidingInterface::checkDefinition()"
-        )   << "Not all zones and patches needed in the definition "
+        FatalErrorInFunction
+            << "Not all zones and patches needed in the definition "
             << "have been found.  Please check your mesh definition."
             << abort(FatalError);
     }
@@ -94,8 +92,7 @@ void Foam::slidingInterface::checkDefinition()
      || mesh.faceZones()[slaveFaceZoneID_.index()].empty()
     )
     {
-        FatalErrorIn("void slidingInterface::checkDefinition()")
-            << "Master or slave face zone contain no faces.  "
+        FatalErrorInFunction
             << "Please check your mesh definition."
             << abort(FatalError);
     }
@@ -199,23 +196,8 @@ Foam::slidingInterface::slidingInterface
 
     if (attached_)
     {
-        FatalErrorIn
-        (
-            "Foam::slidingInterface::slidingInterface\n"
-            "(\n"
-            "    const word& name,\n"
-            "    const label index,\n"
-            "    const polyTopoChanger& mme,\n"
-            "    const word& masterFaceZoneName,\n"
-            "    const word& slaveFaceZoneName,\n"
-            "    const word& cutFaceZoneName,\n"
-            "    const word& cutPointZoneName,\n"
-            "    const word& masterPatchName,\n"
-            "    const word& slavePatchName,\n"
-            "    const typeOfMatch tom,\n"
-            "    const bool coupleDecouple\n"
-            ")"
-        )   << "Creation of a sliding interface from components "
+        FatalErrorInFunction
+            << "Creation of a sliding interface from components "
             << "in attached state not supported."
             << abort(FatalError);
     }
@@ -644,11 +626,8 @@ void Foam::slidingInterface::modifyMotionPoints(pointField& motionPoints) const
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "void slidingInterface::modifyMotionPoints"
-                        "(pointField&) const"
-                    )   << "Cut point " << cutPoints[pointI]
+                    FatalErrorInFunction
+                        << "Cut point " << cutPoints[pointI]
                         << " not recognised as either the projected "
                         << "or as intersection point.  Error in point "
                         << "projection or data mapping"
diff --git a/src/dynamicMesh/slidingInterface/slidingInterfaceAttachedAddressing.C b/src/dynamicMesh/slidingInterface/slidingInterfaceAttachedAddressing.C
index 305bc68d58a..e30f099746b 100644
--- a/src/dynamicMesh/slidingInterface/slidingInterfaceAttachedAddressing.C
+++ b/src/dynamicMesh/slidingInterface/slidingInterfaceAttachedAddressing.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -132,11 +132,7 @@ void Foam::slidingInterface::calcAttachedAddressing() const
                 }
             }
 
-            FatalErrorIn
-            (
-                "void slidingInterface::calcAttachedAddressing()"
-                "const"
-            )   << "Error is zone face-cell addressing.  Probable error in "
+            FatalErrorInFunction
                 << "decoupled mesh or sliding interface definition."
                 << abort(FatalError);
         }
@@ -221,10 +217,7 @@ void Foam::slidingInterface::calcAttachedAddressing() const
     }
     else
     {
-        FatalErrorIn
-        (
-            "void slidingInterface::calcAttachedAddressing() const"
-        )   << "The interface is attached.  The zone face-cell addressing "
+        FatalErrorInFunction
             << "cannot be assembled for object " << name()
             << abort(FatalError);
     }
@@ -304,11 +297,8 @@ void Foam::slidingInterface::renumberAttachedAddressing
         // Check if all the mapped cells are live
         if (min(newMfc) < 0 || min(newSfc) < 0)
         {
-            FatalErrorIn
-            (
-                "void slidingInterface::renumberAttachedAddressing("
-                "const mapPolyMesh& m) const"
-            )   << "Error in cell renumbering for object " << name()
+            FatalErrorInFunction
+                << "Error in cell renumbering for object " << name()
                 << ".  Some of master cells next "
                 << "to the interface have been removed."
                 << abort(FatalError);
@@ -356,11 +346,8 @@ void Foam::slidingInterface::renumberAttachedAddressing
         // Check if all the mapped cells are live
         if (min(newMsof) < 0 || min(newSsof) < 0)
         {
-            FatalErrorIn
-            (
-                "void slidingInterface::renumberAttachedAddressing("
-                "const mapPolyMesh& m) const"
-            )   << "Error in face renumbering for object " << name()
+            FatalErrorInFunction
+                << "Error in face renumbering for object " << name()
                 << ".  Some of stick-out next "
                 << "to the interface have been removed."
                 << abort(FatalError);
@@ -391,11 +378,8 @@ void Foam::slidingInterface::renumberAttachedAddressing
             // Check if all the mapped cells are live
             if (key < 0 || value < 0)
             {
-                FatalErrorIn
-                (
-                    "void slidingInterface::renumberAttachedAddressing("
-                    "const mapPolyMesh& m) const"
-                )   << "Error in retired point numbering for object "
+                FatalErrorInFunction
+                    << "Error in retired point numbering for object "
                     << name() << ".  Some of master "
                     << "points have been removed."
                     << abort(FatalError);
@@ -431,11 +415,8 @@ void Foam::slidingInterface::renumberAttachedAddressing
             // Check if all the mapped cells are live
             if (key < 0 || ms < 0 || me < 0 || ss < 0 || se < 0)
             {
-                FatalErrorIn
-                (
-                    "void slidingInterface::renumberAttachedAddressing("
-                    "const mapPolyMesh& m) const"
-                )   << "Error in cut point edge pair map numbering for object "
+                FatalErrorInFunction
+                    << "Error in cut point edge pair map numbering for object "
                     << name() << ".  Some of master points have been removed."
                     << abort(FatalError);
             }
@@ -446,11 +427,8 @@ void Foam::slidingInterface::renumberAttachedAddressing
 
     if (!projectedSlavePointsPtr_)
     {
-        FatalErrorIn
-        (
-            "void slidingInterface::renumberAttachedAddressing("
-            "const mapPolyMesh& m) const"
-        )   << "Error in projected point numbering for object " << name()
+        FatalErrorInFunction
+            << "Error in projected point numbering for object " << name()
             << abort(FatalError);
     }
 
@@ -496,10 +474,8 @@ const Foam::labelList& Foam::slidingInterface::masterFaceCells() const
 {
     if (!masterFaceCellsPtr_)
     {
-        FatalErrorIn
-        (
-            "const labelList& slidingInterface::masterFaceCells() const"
-        )   << "Master zone face-cell addressing not available for object "
+        FatalErrorInFunction
+            << "Master zone face-cell addressing not available for object "
             << name()
             << abort(FatalError);
     }
@@ -512,10 +488,8 @@ const Foam::labelList& Foam::slidingInterface::slaveFaceCells() const
 {
     if (!slaveFaceCellsPtr_)
     {
-        FatalErrorIn
-        (
-            "const labelList& slidingInterface::slaveFaceCells() const"
-        )   << "Slave zone face-cell addressing not available for object "
+        FatalErrorInFunction
+            << "Slave zone face-cell addressing not available for object "
             << name()
             << abort(FatalError);
     }
@@ -528,10 +502,8 @@ const Foam::labelList& Foam::slidingInterface::masterStickOutFaces() const
 {
     if (!masterStickOutFacesPtr_)
     {
-        FatalErrorIn
-        (
-            "const labelList& slidingInterface::masterStickOutFaces() const"
-        )   << "Master zone stick-out face addressing not available for object "
+        FatalErrorInFunction
+            << "Master zone stick-out face addressing not available for object "
             << name()
             << abort(FatalError);
     }
@@ -544,10 +516,8 @@ const Foam::labelList& Foam::slidingInterface::slaveStickOutFaces() const
 {
     if (!slaveStickOutFacesPtr_)
     {
-        FatalErrorIn
-        (
-            "const labelList& slidingInterface::slaveStickOutFaces() const"
-        )   << "Slave zone stick-out face addressing not available for object "
+        FatalErrorInFunction
+            << "Slave zone stick-out face addressing not available for object "
             << name()
             << abort(FatalError);
     }
@@ -560,10 +530,8 @@ const Foam::Map<Foam::label>& Foam::slidingInterface::retiredPointMap() const
 {
     if (!retiredPointMapPtr_)
     {
-        FatalErrorIn
-        (
-            "const Map<label>& slidingInterface::retiredPointMap() const"
-        )   << "Retired point map not available for object " << name()
+        FatalErrorInFunction
+            << "Retired point map not available for object " << name()
             << abort(FatalError);
     }
 
@@ -576,11 +544,8 @@ Foam::slidingInterface::cutPointEdgePairMap() const
 {
     if (!cutPointEdgePairMapPtr_)
     {
-        FatalErrorIn
-        (
-            "const Map<Pair<edge> >& slidingInterface::"
-            "cutPointEdgePairMap() const"
-        )   << "Retired point map not available for object " << name()
+        FatalErrorInFunction
+            << "Retired point map not available for object " << name()
             << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/slidingInterface/slidingInterfaceProjectPoints.C b/src/dynamicMesh/slidingInterface/slidingInterfaceProjectPoints.C
index fd8f913e1ff..e937c18d183 100644
--- a/src/dynamicMesh/slidingInterface/slidingInterfaceProjectPoints.C
+++ b/src/dynamicMesh/slidingInterface/slidingInterfaceProjectPoints.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -368,10 +368,7 @@ bool Foam::slidingInterface::projectPoints() const
     }
     else
     {
-        FatalErrorIn
-        (
-            "bool slidingInterface::projectPoints() const"
-        )   << "Problem in point projection.  Unknown sliding match type "
+        FatalErrorInFunction
             << " for object " << name()
             << abort(FatalError);
     }
@@ -404,10 +401,7 @@ bool Foam::slidingInterface::projectPoints() const
 
         if (nShortEdges > 0)
         {
-            FatalErrorIn
-            (
-                "bool slidingInterface::projectPoints() const"
-            )   << "Problem in point projection.  " << nShortEdges
+            FatalErrorInFunction
                 << " short projected edges "
                 << "after adjustment for object " << name()
                 << abort(FatalError);
@@ -522,10 +516,7 @@ bool Foam::slidingInterface::projectPoints() const
 
         if (minEdgeLength < SMALL)
         {
-            FatalErrorIn
-            (
-                "bool slidingInterface::projectPoints() const"
-            )   << "Problem in point projection.  Short projected edge "
+            FatalErrorInFunction
                 << " after point merge for object " << name()
                 << abort(FatalError);
         }
@@ -687,10 +678,7 @@ bool Foam::slidingInterface::projectPoints() const
 
         if (minEdgeLength < SMALL)
         {
-            FatalErrorIn
-            (
-                "bool slidingInterface::projectPoints() const"
-            )   << "Problem in point projection.  Short projected edge "
+            FatalErrorInFunction
             << " after correction for object " << name()
             << abort(FatalError);
         }
diff --git a/src/edgeMesh/edgeMesh.C b/src/edgeMesh/edgeMesh.C
index 0e8cb2acada..4964d0c0b44 100644
--- a/src/edgeMesh/edgeMesh.C
+++ b/src/edgeMesh/edgeMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -107,7 +107,7 @@ void Foam::edgeMesh::calcPointEdges() const
 {
     if (pointEdgesPtr_.valid())
     {
-        FatalErrorIn("edgeMesh::calcPointEdges() const")
+        FatalErrorInFunction
             << "pointEdges already calculated." << abort(FatalError);
     }
 
diff --git a/src/edgeMesh/edgeMeshFormats/edgeMesh/edgeMeshFormat.C b/src/edgeMesh/edgeMeshFormats/edgeMesh/edgeMeshFormat.C
index 581d161d368..e07e3f31853 100644
--- a/src/edgeMesh/edgeMeshFormats/edgeMesh/edgeMeshFormat.C
+++ b/src/edgeMesh/edgeMeshFormats/edgeMesh/edgeMeshFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -77,7 +77,7 @@ bool Foam::fileFormats::edgeMeshFormat::read
 
     if (!io.headerOk())
     {
-        FatalErrorIn("fileFormats::edgeMeshFormat::read(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -109,11 +109,7 @@ bool Foam::fileFormats::edgeMeshFormat::read
 {
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::edgeMeshFormat::read"
-            "(Istream&, pointField&, edgeList&)"
-        )
+        FatalErrorInFunction
             << "read error "
             << exit(FatalError);
     }
@@ -137,11 +133,7 @@ Foam::Ostream& Foam::fileFormats::edgeMeshFormat::write
 {
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::edgeMeshFormat::write"
-            "(Ostream&, const fileName&, const edgeMesh&)"
-        )
+        FatalErrorInFunction
             << "bad output stream " << os.name()
             << exit(FatalError);
     }
@@ -194,10 +186,8 @@ void Foam::fileFormats::edgeMeshFormat::write
 
     if (!osPtr().good())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "fileFormats::edgeMeshFormat::write"
-            "(const fileName&, const edgeMesh&)",
             osPtr()
         )   << "Cannot open file for writing " << filename
             << exit(FatalIOError);
@@ -208,10 +198,8 @@ void Foam::fileFormats::edgeMeshFormat::write
 
     if (!ok)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "fileFormats::edgeMeshFormat::write"
-            "(const fileName&, const edgeMesh&)",
             os
         )   << "Cannot write header"
             << exit(FatalIOError);
diff --git a/src/edgeMesh/edgeMeshFormats/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshFormat.C b/src/edgeMesh/edgeMeshFormats/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshFormat.C
index 5f20b3016b3..3c72541702c 100644
--- a/src/edgeMesh/edgeMeshFormats/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshFormat.C
+++ b/src/edgeMesh/edgeMeshFormats/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,10 +50,7 @@ bool Foam::fileFormats::extendedFeatureEdgeMeshFormat::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::extendedFeatureEdgeMeshFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
diff --git a/src/edgeMesh/edgeMeshFormats/nas/NASedgeFormat.C b/src/edgeMesh/edgeMeshFormats/nas/NASedgeFormat.C
index 921778fa04a..5045d031b38 100644
--- a/src/edgeMesh/edgeMeshFormats/nas/NASedgeFormat.C
+++ b/src/edgeMesh/edgeMeshFormats/nas/NASedgeFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,10 +51,7 @@ bool Foam::fileFormats::NASedgeFormat::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::NASedgeFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -149,10 +146,7 @@ bool Foam::fileFormats::NASedgeFormat::read
             is.getLine(line);
             if (line[0] != '*')
             {
-                FatalErrorIn
-                (
-                    "fileFormats::NASedgeFormat::read(const fileName&)"
-                )
+                FatalErrorInFunction
                     << "Expected continuation symbol '*' when reading GRID*"
                     << " (double precision coordinate) format" << nl
                     << "Read:" << line << nl
diff --git a/src/edgeMesh/edgeMeshFormats/obj/OBJedgeFormat.C b/src/edgeMesh/edgeMeshFormats/obj/OBJedgeFormat.C
index 12cad6b89db..8b6e64cc594 100644
--- a/src/edgeMesh/edgeMeshFormats/obj/OBJedgeFormat.C
+++ b/src/edgeMesh/edgeMeshFormats/obj/OBJedgeFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -101,10 +101,7 @@ bool Foam::fileFormats::OBJedgeFormat::read(const fileName& filename)
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OBJedgeFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -241,11 +238,7 @@ void Foam::fileFormats::OBJedgeFormat::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OBJedgeFormat::write"
-            "(const fileName&, const edgeMesh&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/edgeMesh/edgeMeshFormats/starcd/STARCDedgeFormat.C b/src/edgeMesh/edgeMeshFormats/starcd/STARCDedgeFormat.C
index 05eb1cfe02c..7fd3141d1b4 100644
--- a/src/edgeMesh/edgeMeshFormats/starcd/STARCDedgeFormat.C
+++ b/src/edgeMesh/edgeMeshFormats/starcd/STARCDedgeFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -140,10 +140,7 @@ bool Foam::fileFormats::STARCDedgeFormat::read
     IFstream is(baseName + ".cel");
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STARCDedgeFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << is.name()
             << exit(FatalError);
     }
diff --git a/src/edgeMesh/edgeMeshFormats/vtk/VTKedgeFormat.C b/src/edgeMesh/edgeMeshFormats/vtk/VTKedgeFormat.C
index f0eda7aaa40..01e792e2cee 100644
--- a/src/edgeMesh/edgeMeshFormats/vtk/VTKedgeFormat.C
+++ b/src/edgeMesh/edgeMeshFormats/vtk/VTKedgeFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -94,10 +94,8 @@ bool Foam::fileFormats::VTKedgeFormat::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::VTKedgeFormat::read(const fileName&)"
-        )   << "Cannot read file " << filename
+        FatalErrorInFunction
+            << "Cannot read file " << filename
             << exit(FatalError);
     }
 
@@ -162,11 +160,8 @@ void Foam::fileFormats::VTKedgeFormat::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::VTKedgeFormat::write"
-            "(const fileName&, const edgeMesh&)"
-        )   << "Cannot open file for writing " << filename
+        FatalErrorInFunction
+            << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
 
diff --git a/src/edgeMesh/edgeMeshIO.C b/src/edgeMesh/edgeMeshIO.C
index 3887f9d6792..074510f2c10 100644
--- a/src/edgeMesh/edgeMeshIO.C
+++ b/src/edgeMesh/edgeMeshIO.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -104,11 +104,8 @@ void Foam::edgeMesh::write
 
     if (mfIter == writefileExtensionMemberFunctionTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "MeshedSurface::write"
-            "(const fileName&, const MeshedSurface&)"
-        )   << "Unknown file extension " << ext << nl << nl
+        FatalErrorInFunction
+            << "Unknown file extension " << ext << nl << nl
             << "Valid types are :" << endl
             << writefileExtensionMemberFunctionTablePtr_->sortedToc()
             << exit(FatalError);
diff --git a/src/edgeMesh/edgeMeshNew.C b/src/edgeMesh/edgeMeshNew.C
index df52d7cf638..8258da4b57b 100644
--- a/src/edgeMesh/edgeMeshNew.C
+++ b/src/edgeMesh/edgeMeshNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,11 +38,8 @@ Foam::autoPtr<Foam::edgeMesh> Foam::edgeMesh::New
 
     if (cstrIter == fileExtensionConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "edgeMesh<Face>::New(const fileName&, const word&) : "
-            "constructing edgeMesh"
-        )   << "Unknown file extension " << ext
+        FatalErrorInFunction
+            << "Unknown file extension " << ext
             << " for file " << name << nl << nl
             << "Valid extensions are :" << nl
             << fileExtensionConstructorTablePtr_->sortedToc()
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshFormats/extendedEdgeMeshFormat/extendedEdgeMeshFormat.C b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshFormats/extendedEdgeMeshFormat/extendedEdgeMeshFormat.C
index a8ee72c4345..a046a1221db 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshFormats/extendedEdgeMeshFormat/extendedEdgeMeshFormat.C
+++ b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshFormats/extendedEdgeMeshFormat/extendedEdgeMeshFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -75,8 +75,7 @@ bool Foam::fileFormats::extendedEdgeMeshFormat::read
 
     if (!io.headerOk())
     {
-        FatalErrorIn
-        ("fileFormats::extendedEdgeMeshFormat::read(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshI.H b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshI.H
index 8506fae9e9d..55d29113465 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshI.H
+++ b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -130,7 +130,7 @@ inline Foam::vector Foam::extendedEdgeMesh::edgeDirection
     }
     else
     {
-        FatalErrorIn("Foam::extendedEdgeMesh::edgeDirection")
+        FatalErrorInFunction
             << "Requested ptI " << ptI << " is not a point on the requested "
             << "edgeI " << edgeI << ". edgeI start and end: "
             << e.start() << " " << e.end()
@@ -185,7 +185,7 @@ inline Foam::vectorField Foam::extendedEdgeMesh::featurePointNormals
 {
     if (!featurePoint(ptI))
     {
-        WarningIn("vectorField extendedEdgeMesh::featurePointNormals")
+        WarningInFunction
             << "Requesting the normals of a non-feature point. "
             << "Returned zero length vectorField."
             << endl;
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshNew.C b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshNew.C
index 5fa8572b6b2..ad0c52966ec 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshNew.C
+++ b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,11 +47,8 @@ Foam::autoPtr<Foam::extendedEdgeMesh> Foam::extendedEdgeMesh::New
 
     if (cstrIter == fileExtensionConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "extendedEdgeMesh::New(const fileName&, const word&) : "
-            "constructing extendedEdgeMesh"
-        )   << "Unknown file extension " << ext
+        FatalErrorInFunction
+            << "Unknown file extension " << ext
             << " for file " << name << nl << nl
             << "Valid extensions are :" << nl
             << fileExtensionConstructorTablePtr_->sortedToc()
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshTemplates.C b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshTemplates.C
index cdb19b441d8..ffa8317fa7b 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshTemplates.C
+++ b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -242,15 +242,8 @@ void Foam::extendedEdgeMesh::sortPointsAndEdges
         }
         else if (eStat == NONE)
         {
-            FatalErrorIn
-            (
-                ":extendedEdgeMesh::sortPointsAndEdges"
-                "("
-                "    const Patch&,"
-                "    const labelList& featureEdges,"
-                "    const labelList& feaurePoints"
-                ")"
-            )   << nl << "classifyEdge returned NONE on edge "
+            FatalErrorInFunction
+                << nl << "classifyEdge returned NONE on edge "
                 << eds[i]
                 << ". There is a problem with definition of this edge."
                 << nl << abort(FatalError);
@@ -326,15 +319,8 @@ void Foam::extendedEdgeMesh::sortPointsAndEdges
         }
         else if (ptStatus == NONFEATURE)
         {
-            FatalErrorIn
-            (
-                ":extendedEdgeMesh::sortPointsAndEdges"
-                "("
-                "    const Patch&,"
-                "    const labelList& featureEdges,"
-                "    const labelList& feaurePoints"
-                ")"
-            )   << nl << "classifyFeaturePoint returned NONFEATURE on point at "
+            FatalErrorInFunction
+                << nl << "classifyFeaturePoint returned NONFEATURE on point at "
                 << points()[i]
                 << ". There is a problem with definition of this feature point."
                 << nl << abort(FatalError);
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMesh.C b/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMesh.C
index 126b9dcdf8f..1ef5765dd3b 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMesh.C
+++ b/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,11 +49,8 @@ Foam::extendedFeatureEdgeMesh::extendedFeatureEdgeMesh(const IOobject& io)
     {
         if (readOpt() == IOobject::MUST_READ_IF_MODIFIED)
         {
-            WarningIn
-            (
-                "extendedFeatureEdgeMesh::extendedFeatureEdgeMesh"
-                "(const IOobject&)"
-            )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+            WarningInFunction
+                << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
                 << " does not support automatic rereading."
                 << endl;
         }
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshI.H b/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshI.H
index 9259b06cb52..103d6c78cd9 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshI.H
+++ b/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -127,7 +127,7 @@ inline Foam::vector Foam::extendedFeatureEdgeMesh::edgeDirection
     }
     else
     {
-        FatalErrorIn("Foam::extendedFeatureEdgeMesh::edgeDirection")
+        FatalErrorInFunction
             << "Requested ptI " << ptI << " is not a point on the requested "
             << "edgeI " << edgeI << ". edgeI start and end: "
             << e.start() << " " << e.end()
@@ -182,7 +182,7 @@ inline Foam::vectorField Foam::extendedFeatureEdgeMesh::featurePointNormals
 {
     if (!featurePoint(ptI))
     {
-        WarningIn("vectorField extendedFeatureEdgeMesh::featurePointNormals")
+        WarningInFunction
             << "Requesting the normals of a non-feature point. "
             << "Returned zero length vectorField."
             << endl;
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshTemplates.C b/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshTemplates.C
index 01b02a650ac..9a33bcc96ad 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshTemplates.C
+++ b/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -242,15 +242,8 @@ void Foam::extendedFeatureEdgeMesh::sortPointsAndEdges
         }
         else if (eStat == NONE)
         {
-            FatalErrorIn
-            (
-                ":extendedFeatureEdgeMesh::sortPointsAndEdges"
-                "("
-                "    const Patch&,"
-                "    const labelList& featureEdges,"
-                "    const labelList& feaurePoints"
-                ")"
-            )   << nl << "classifyEdge returned NONE on edge "
+            FatalErrorInFunction
+                << nl << "classifyEdge returned NONE on edge "
                 << eds[i]
                 << ". There is a problem with definition of this edge."
                 << nl << abort(FatalError);
@@ -326,15 +319,8 @@ void Foam::extendedFeatureEdgeMesh::sortPointsAndEdges
         }
         else if (ptStatus == NONFEATURE)
         {
-            FatalErrorIn
-            (
-                ":extendedFeatureEdgeMesh::sortPointsAndEdges"
-                "("
-                "    const Patch&,"
-                "    const labelList& featureEdges,"
-                "    const labelList& feaurePoints"
-                ")"
-            )   << nl << "classifyFeaturePoint returned NONFEATURE on point at "
+            FatalErrorInFunction
+                << nl << "classifyFeaturePoint returned NONFEATURE on point at "
                 << points()[i]
                 << ". There is a problem with definition of this feature point."
                 << nl << abort(FatalError);
diff --git a/src/engine/engineMesh/engineMesh/engineMesh.C b/src/engine/engineMesh/engineMesh/engineMesh.C
index d3a80edeeae..c1554f127f5 100644
--- a/src/engine/engineMesh/engineMesh/engineMesh.C
+++ b/src/engine/engineMesh/engineMesh/engineMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -76,21 +76,21 @@ Foam::engineMesh::engineMesh(const IOobject& io)
 
     if (!foundPiston)
     {
-        FatalErrorIn("engineMesh::engineMesh(const IOobject& io)")
+        FatalErrorInFunction
             << "cannot find piston patch"
             << exit(FatalError);
     }
 
     if (!foundLiner)
     {
-        FatalErrorIn("engineMesh::engineMesh(const IOobject& io)")
+        FatalErrorInFunction
             << "cannot find liner patch"
             << exit(FatalError);
     }
 
     if (!foundCylinderHead)
     {
-        FatalErrorIn("engineMesh::engineMesh(const IOobject& io)")
+        FatalErrorInFunction
             << "cannot find cylinderHead patch"
             << exit(FatalError);
     }
diff --git a/src/engine/engineMesh/engineMesh/engineMeshNew.C b/src/engine/engineMesh/engineMesh/engineMeshNew.C
index 1d0d48b9afa..afbd4218290 100644
--- a/src/engine/engineMesh/engineMesh/engineMeshNew.C
+++ b/src/engine/engineMesh/engineMesh/engineMeshNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,10 +58,8 @@ Foam::autoPtr<Foam::engineMesh> Foam::engineMesh::New
 
     if (cstrIter == IOobjectConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "engineMesh::New(const IOobject&)"
-        )   << "Unknown engineMesh type "
+        FatalErrorInFunction
+            << "Unknown engineMesh type "
             << modelType << nl << nl
             << "Valid engineMesh types are :" << endl
             << IOobjectConstructorTablePtr_->sortedToc()
diff --git a/src/fileFormats/coordSet/coordSet.C b/src/fileFormats/coordSet/coordSet.C
index d8b37c5fdd8..c65ae246b1d 100644
--- a/src/fileFormats/coordSet/coordSet.C
+++ b/src/fileFormats/coordSet/coordSet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -115,10 +115,8 @@ Foam::scalar Foam::coordSet::scalarCoord
     }
     else
     {
-        FatalErrorIn
-        (
-            "coordSet::scalarCoord(const label)"
-        )   << "Illegal axis specification " << axis_
+        FatalErrorInFunction
+            << "Illegal axis specification " << axis_
             << " for sampling line " << name_
             << exit(FatalError);
 
diff --git a/src/fileFormats/sampledSetWriters/csv/csvSetWriter.C b/src/fileFormats/sampledSetWriters/csv/csvSetWriter.C
index c1ed54b1cd8..44762d043cb 100644
--- a/src/fileFormats/sampledSetWriters/csv/csvSetWriter.C
+++ b/src/fileFormats/sampledSetWriters/csv/csvSetWriter.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -94,7 +94,7 @@ void Foam::csvSetWriter<Type>::write
 
     if (valueSets.size() != valueSetNames.size())
     {
-        FatalErrorIn("csvSetWriter<Type>::write(..)")
+        FatalErrorInFunction
             << "Number of variables:" << valueSetNames.size() << endl
             << "Number of valueSets:" << valueSets.size()
             << exit(FatalError);
diff --git a/src/fileFormats/sampledSetWriters/gnuplot/gnuplotSetWriter.C b/src/fileFormats/sampledSetWriters/gnuplot/gnuplotSetWriter.C
index 2679e1e7023..5f2d2b66bb9 100644
--- a/src/fileFormats/sampledSetWriters/gnuplot/gnuplotSetWriter.C
+++ b/src/fileFormats/sampledSetWriters/gnuplot/gnuplotSetWriter.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -103,7 +103,7 @@ void Foam::gnuplotSetWriter<Type>::write
 {
     if (valueSets.size() != valueSetNames.size())
     {
-        FatalErrorIn("gnuplotSetWriter<Type>::write(..)")
+        FatalErrorInFunction
             << "Number of variables:" << valueSetNames.size() << endl
             << "Number of valueSets:" << valueSets.size()
             << exit(FatalError);
diff --git a/src/fileFormats/sampledSetWriters/raw/rawSetWriter.C b/src/fileFormats/sampledSetWriters/raw/rawSetWriter.C
index 403b9e71116..bd1b5e5525c 100644
--- a/src/fileFormats/sampledSetWriters/raw/rawSetWriter.C
+++ b/src/fileFormats/sampledSetWriters/raw/rawSetWriter.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -90,7 +90,7 @@ void Foam::rawSetWriter<Type>::write
 {
     if (valueSets.size() != valueSetNames.size())
     {
-        FatalErrorIn("rawSetWriter<Type>::write(..)")
+        FatalErrorInFunction
             << "Number of variables:" << valueSetNames.size() << endl
             << "Number of valueSets:" << valueSets.size()
             << exit(FatalError);
diff --git a/src/fileFormats/sampledSetWriters/vtk/vtkSetWriter.C b/src/fileFormats/sampledSetWriters/vtk/vtkSetWriter.C
index 3ab27361750..d3208e968d6 100644
--- a/src/fileFormats/sampledSetWriters/vtk/vtkSetWriter.C
+++ b/src/fileFormats/sampledSetWriters/vtk/vtkSetWriter.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -115,7 +115,7 @@ void Foam::vtkSetWriter<Type>::write
 {
     if (valueSets.size() != valueSetNames.size())
     {
-        FatalErrorIn("vtkSetWriter<Type>::write(..)")
+        FatalErrorInFunction
             << "Number of variables:" << valueSetNames.size() << endl
             << "Number of valueSets:" << valueSets.size()
             << exit(FatalError);
diff --git a/src/fileFormats/sampledSetWriters/writer.C b/src/fileFormats/sampledSetWriters/writer.C
index e031615ff69..6ccf51c7438 100644
--- a/src/fileFormats/sampledSetWriters/writer.C
+++ b/src/fileFormats/sampledSetWriters/writer.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,10 +41,8 @@ Foam::autoPtr< Foam::writer<Type> > Foam::writer<Type>::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "writer::New(const word&)"
-        )   << "Unknown write type "
+        FatalErrorInFunction
+            << "Unknown write type "
             << writeType << nl << nl
             << "Valid write types : " << endl
             << wordConstructorTablePtr_->sortedToc()
diff --git a/src/fileFormats/sampledSetWriters/xmgrace/xmgraceSetWriter.C b/src/fileFormats/sampledSetWriters/xmgrace/xmgraceSetWriter.C
index 3825868196d..15f2e0eaf89 100644
--- a/src/fileFormats/sampledSetWriters/xmgrace/xmgraceSetWriter.C
+++ b/src/fileFormats/sampledSetWriters/xmgrace/xmgraceSetWriter.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -97,7 +97,7 @@ void Foam::xmgraceSetWriter<Type>::write
 {
     if (valueSets.size() != valueSetNames.size())
     {
-        FatalErrorIn("gnuplotSetWriter<Type>::write(..)")
+        FatalErrorInFunction
             << "Number of variables:" << valueSetNames.size() << endl
             << "Number of valueSets:" << valueSets.size()
             << exit(FatalError);
diff --git a/src/fileFormats/starcd/STARCDCore.C b/src/fileFormats/starcd/STARCDCore.C
index 07afd63d100..5e1ef1fb08a 100644
--- a/src/fileFormats/starcd/STARCDCore.C
+++ b/src/fileFormats/starcd/STARCDCore.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,11 +45,7 @@ bool Foam::fileFormats::STARCDCore::readHeader
 {
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STARCDCore::readHeader(...)"
-        )
-            << "cannot read " << signature  << "  " << is.name()
+        FatalErrorInFunction
             << abort(FatalError);
     }
 
@@ -105,10 +101,7 @@ bool Foam::fileFormats::STARCDCore::readPoints
 {
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STARCDedgeFormat::readPoints(...)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << is.name()
             << exit(FatalError);
     }
diff --git a/src/fileFormats/vtk/vtkUnstructuredReader.C b/src/fileFormats/vtk/vtkUnstructuredReader.C
index 8259ed19241..8460f61487c 100644
--- a/src/fileFormats/vtk/vtkUnstructuredReader.C
+++ b/src/fileFormats/vtk/vtkUnstructuredReader.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -91,7 +91,7 @@ void Foam::vtkUnstructuredReader::warnUnhandledType
 {
     if (warningGiven.insert(type))
     {
-        IOWarningIn("vtkUnstructuredReader::warnUnhandledType(..)", inFile)
+        IOWarningInFunction(inFile)
             << "Skipping unknown cell type " << type << endl;
     }
 }
@@ -143,9 +143,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 1)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 1 for VTK_VERTEX but found "
                         << nRead << exit(FatalIOError);
@@ -168,9 +167,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 2)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 2 for VTK_LINE but found "
                         << nRead << exit(FatalIOError);
@@ -205,9 +203,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 3)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 3 for VTK_TRIANGLE but found "
                         << nRead << exit(FatalIOError);
@@ -226,9 +223,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 4)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 4 for VTK_QUAD but found "
                         << nRead << exit(FatalIOError);
@@ -258,9 +254,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 4)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 4 for VTK_TETRA but found "
                         << nRead << exit(FatalIOError);
@@ -279,9 +274,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 5)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 5 for VTK_PYRAMID but found "
                         << nRead << exit(FatalIOError);
@@ -301,9 +295,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 6)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 6 for VTK_WEDGE but found "
                         << nRead << exit(FatalIOError);
@@ -324,9 +317,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 8)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 8 for VTK_HEXAHEDRON but found "
                         << nRead << exit(FatalIOError);
@@ -453,7 +445,7 @@ void Foam::vtkUnstructuredReader::readField
 
         default:
         {
-            IOWarningIn("vtkUnstructuredReader::extractCells(..)", inFile)
+            IOWarningInFunction(inFile)
                 << "Unhandled type " << vtkDataTypeNames[dataType] << endl
                 << "Skipping " << size
                 << " words." << endl;
@@ -501,7 +493,7 @@ Foam::wordList Foam::vtkUnstructuredReader::readFieldArray
 
         if (wantedSize != -1 && numTuples != wantedSize)
         {
-            FatalIOErrorIn("vtkUnstructuredReader::readFieldArray(..)", inFile)
+            FatalIOErrorInFunction(inFile)
                 << "Expected " << wantedSize << " tuples but only have "
                 << numTuples << exit(FatalIOError);
         }
@@ -576,7 +568,7 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile)
 
     if (dataType_ == "BINARY")
     {
-        FatalIOErrorIn("vtkUnstructuredReader::read(ISstream&)", inFile)
+        FatalIOErrorInFunction(inFile)
             << "Binary reading not supported " << exit(FatalIOError);
     }
 
@@ -625,7 +617,7 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile)
             word primitiveTag(inFile);
             if (primitiveTag != "float" && primitiveTag != "double")
             {
-                FatalIOErrorIn("vtkUnstructuredReader::read(..)", inFile)
+                FatalIOErrorInFunction(inFile)
                     << "Expected 'float' entry but found "
                     << primitiveTag
                     << exit(FatalIOError);
@@ -654,7 +646,7 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile)
 
             if (cellTypes.size() > 0 && cellVerts.size() == 0)
             {
-                FatalIOErrorIn("vtkUnstructuredReader::read(..)", inFile)
+                FatalIOErrorInFunction(inFile)
                     << "Found " << cellTypes.size()
                     << " cellTypes but no cells."
                     << exit(FatalIOError);
@@ -730,7 +722,7 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile)
             label nPoints(readLabel(inFile));
             if (nPoints != wantedSize)
             {
-                FatalIOErrorIn("vtkUnstructuredReader::read(..)", inFile)
+                FatalIOErrorInFunction(inFile)
                     << "Reading POINT_DATA : expected " << wantedSize
                     << " but read " << nPoints << exit(FatalIOError);
             }
@@ -743,7 +735,7 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile)
             label nCells(readLabel(inFile));
             if (nCells != wantedSize)
             {
-                FatalIOErrorIn("vtkUnstructuredReader::read(..)", inFile)
+                FatalIOErrorInFunction(inFile)
                     << "Reading CELL_DATA : expected "
                     << wantedSize
                     << " but read " << nCells << exit(FatalIOError);
@@ -773,7 +765,7 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile)
             word lookupTableTag(inFile);
             if (lookupTableTag != "LOOKUP_TABLE")
             {
-                FatalIOErrorIn("vtkUnstructuredReader::read(..)", inFile)
+                FatalIOErrorInFunction(inFile)
                     << "Expected tag LOOKUP_TABLE but read "
                     << lookupTableTag
                     << exit(FatalIOError);
@@ -920,7 +912,7 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile)
         }
         else
         {
-            FatalIOErrorIn("vtkUnstructuredReader::read(..)", inFile)
+            FatalIOErrorInFunction(inFile)
                 << "Unsupported tag "
                 << tag << exit(FatalIOError);
         }
diff --git a/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C b/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C
index 46fc5f18531..33c19f801ae 100644
--- a/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C
+++ b/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C
@@ -271,15 +271,8 @@ bool Foam::pairPatchAgglomeration::agglomeratePatch
 {
     if (min(fineToCoarse) == -1)
     {
-        FatalErrorIn
-        (
-            "pairPatchAgglomeration::agglomeratePatch"
-            "("
-                "const bPatch&, "
-                "const labelList&, "
-                "const label"
-            ")"
-        )   << "min(fineToCoarse) == -1" << exit(FatalError);
+        FatalErrorInFunction
+            << "min(fineToCoarse) == -1" << exit(FatalError);
     }
 
     if (fineToCoarse.size() == 0)
@@ -289,15 +282,8 @@ bool Foam::pairPatchAgglomeration::agglomeratePatch
 
     if (fineToCoarse.size() != patch.size())
     {
-        FatalErrorIn
-        (
-            "pairPatchAgglomeration::agglomeratePatch"
-            "("
-                "const bPatch&, "
-                "const labelList&, "
-                "const label"
-            ")"
-        )   << "restrict map does not correspond to fine level. " << endl
+        FatalErrorInFunction
+            << "restrict map does not correspond to fine level. " << endl
             << " Sizes: restrictMap: " << fineToCoarse.size()
             << " nEqns: " << patch.size()
             << abort(FatalError);
@@ -540,11 +526,8 @@ Foam::tmp<Foam::labelField> Foam::pairPatchAgglomeration::agglomerateOneLevel
     {
         if (coarseCellMap[facei] < 0)
         {
-            FatalErrorIn
-            (
-                "pairPatchAgglomeration::agglomerateOneLevel "
-                "(label&, const bPatch&) "
-            ) << " face " << facei
+            FatalErrorInFunction
+              << " face " << facei
             << " is not part of a cluster"
             << exit(FatalError);
         }
diff --git a/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomerationTemplates.C b/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomerationTemplates.C
index 73b8cff0ad0..9ddc691bb7b 100644
--- a/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomerationTemplates.C
+++ b/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomerationTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,12 +39,8 @@ void Foam::pairPatchAgglomeration::restrictField
 
     if (ff.size() != fineToCoarse.size())
     {
-        FatalErrorIn
-        (
-            "void pairPatchAgglomeration::restrictField"
-            "(Field<Type>& cf, const Field<Type>& ff, "
-            "const label fineLevelIndex) const"
-        )   << "field does not correspond to level " << fineLevelIndex
+        FatalErrorInFunction
+            << "field does not correspond to level " << fineLevelIndex
             << " sizes: field = " << ff.size()
             << " level = " << fineToCoarse.size()
             << abort(FatalError);
diff --git a/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C b/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C
index 6029c8383f4..96ba02d31c7 100644
--- a/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C
+++ b/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -82,12 +82,8 @@ displacementInterpolationMotionSolver
 
         if (zoneI == -1)
         {
-            FatalErrorIn
-            (
-                "displacementInterpolationMotionSolver::"
-                "displacementInterpolationMotionSolver(const polyMesh&,"
-                "Istream&)"
-            )   << "Cannot find zone " << zoneName << endl
+            FatalErrorInFunction
+                << "Cannot find zone " << zoneName << endl
                 << "Valid zones are " << mesh.faceZones().names()
                 << exit(FatalError);
         }
@@ -250,12 +246,8 @@ displacementInterpolationMotionSolver
 
             if (rangeI == -1 || rangeI == rangeToCoord.size()-1)
             {
-                FatalErrorIn
-                (
-                    "displacementInterpolationMotionSolver::"
-                    "displacementInterpolationMotionSolver"
-                    "(const polyMesh&, Istream&)"
-                )   << "Did not find point " << points0()[pointI]
+                FatalErrorInFunction
+                    << "Did not find point " << points0()[pointI]
                     << " coordinate " << meshCoords[pointI]
                     << " in ranges " << rangeToCoord
                     << abort(FatalError);
@@ -313,10 +305,8 @@ Foam::displacementInterpolationMotionSolver::curPoints() const
 {
     if (mesh().nPoints() != points0().size())
     {
-        FatalErrorIn
-        (
-            "displacementInterpolationMotionSolver::curPoints() const"
-        )   << "The number of points in the mesh seems to have changed." << endl
+        FatalErrorInFunction
+            << "The number of points in the mesh seems to have changed." << endl
             << "In constant/polyMesh there are " << points0().size()
             << " points; in the current mesh there are " << mesh().nPoints()
             << " points." << exit(FatalError);
diff --git a/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.C b/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.C
index 137283c1ba8..832f249e202 100644
--- a/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.C
+++ b/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -241,18 +241,7 @@ Foam::displacementLayeredMotionMotionSolver::faceZoneEvaluate
     {
         if ((patchI % 2) != 1)
         {
-            FatalIOErrorIn
-            (
-                "displacementLayeredMotionMotionSolver::faceZoneEvaluate"
-                "("
-                    "const faceZone&, "
-                    "const labelList&, "
-                    "const dictionary&, "
-                    "const PtrList<pointVectorField>&, "
-                    "const label"
-                ") const",
-                *this
-            )   << "slip can only be used on second faceZone patch of pair.  "
+            FatalIOErrorInFunction(*this)
                 << "FaceZone:" << fz.name()
                 << exit(FatalIOError);
         }
@@ -278,18 +267,8 @@ Foam::displacementLayeredMotionMotionSolver::faceZoneEvaluate
     }
     else
     {
-        FatalIOErrorIn
-        (
-            "displacementLayeredMotionMotionSolver::faceZoneEvaluate"
-            "("
-                "const faceZone&, "
-                "const labelList&, "
-                "const dictionary&, "
-                "const PtrList<pointVectorField>&, "
-                "const label"
-            ") const",
-            *this
-        )   << "Unknown faceZonePatch type " << type << " for faceZone "
+        FatalIOErrorInFunction(*this)
+            << "Unknown faceZonePatch type " << type << " for faceZone "
             << fz.name() << exit(FatalIOError);
     }
     return tfld;
@@ -310,12 +289,8 @@ void Foam::displacementLayeredMotionMotionSolver::cellZoneSolve
 
     if (patchesDict.size() != 2)
     {
-        FatalIOErrorIn
-        (
-            "displacementLayeredMotionMotionSolver::"
-            "cellZoneSolve(const label, const dictionary&)",
-            *this
-        )   << "Two faceZones (patches) must be specifed per cellZone. "
+        FatalIOErrorInFunction(*this)
+            << "Two faceZones (patches) must be specifed per cellZone. "
             << " cellZone:" << cellZoneI
             << " patches:" << patchesDict.toc()
             << exit(FatalIOError);
@@ -332,12 +307,8 @@ void Foam::displacementLayeredMotionMotionSolver::cellZoneSolve
         label zoneI = mesh().faceZones().findZoneID(faceZoneName);
         if (zoneI == -1)
         {
-            FatalIOErrorIn
-            (
-                "displacementLayeredMotionMotionSolver::"
-                "cellZoneSolve(const label, const dictionary&)",
-                *this
-            )   << "Cannot find faceZone " << faceZoneName
+            FatalIOErrorInFunction(*this)
+                << "Cannot find faceZone " << faceZoneName
                 << endl << "Valid zones are " << mesh().faceZones().names()
                 << exit(FatalIOError);
         }
@@ -506,11 +477,7 @@ void Foam::displacementLayeredMotionMotionSolver::cellZoneSolve
     }
     else
     {
-        FatalErrorIn
-        (
-            "displacementLayeredMotionMotionSolver::"
-            "cellZoneSolve(const label, const dictionary&)"
-        )
+        FatalErrorInFunction
             << "Invalid interpolationScheme: " << interpolationScheme
             << ". Valid schemes are 'oneSided' and 'linear'"
             << exit(FatalError);
@@ -573,11 +540,8 @@ void Foam::displacementLayeredMotionMotionSolver::solve()
 
         if (zoneI == -1)
         {
-            FatalIOErrorIn
-            (
-                "displacementLayeredMotionMotionSolver::solve()",
-                *this
-            )   << "Cannot find cellZone " << cellZoneName
+            FatalIOErrorInFunction(*this)
+                << "Cannot find cellZone " << cellZoneName
                 << endl << "Valid zones are " << mesh().cellZones().names()
                 << exit(FatalIOError);
         }
diff --git a/src/fvMotionSolver/motionDiffusivity/motionDiffusivity/motionDiffusivity.C b/src/fvMotionSolver/motionDiffusivity/motionDiffusivity/motionDiffusivity.C
index 86c94a35b83..4c01a9ebf73 100644
--- a/src/fvMotionSolver/motionDiffusivity/motionDiffusivity/motionDiffusivity.C
+++ b/src/fvMotionSolver/motionDiffusivity/motionDiffusivity/motionDiffusivity.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,11 +59,8 @@ Foam::autoPtr<Foam::motionDiffusivity> Foam::motionDiffusivity::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "motionDiffusivity::New(const fvMesh&, "
-            "const Istream& dict)"
-        )   << "Unknown diffusion type "
+        FatalErrorInFunction
+            << "Unknown diffusion type "
             << motionType << nl << nl
             << "Valid diffusion types are :" << endl
             << IstreamConstructorTablePtr_->sortedToc()
diff --git a/src/fvMotionSolver/pointPatchFields/derived/surfaceDisplacement/surfaceDisplacementPointPatchVectorField.C b/src/fvMotionSolver/pointPatchFields/derived/surfaceDisplacement/surfaceDisplacementPointPatchVectorField.C
index 30f48d60930..00a99a90569 100644
--- a/src/fvMotionSolver/pointPatchFields/derived/surfaceDisplacement/surfaceDisplacementPointPatchVectorField.C
+++ b/src/fvMotionSolver/pointPatchFields/derived/surfaceDisplacement/surfaceDisplacementPointPatchVectorField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -333,16 +333,8 @@ surfaceDisplacementPointPatchVectorField
 {
     if (velocity_.x() < 0 || velocity_.y() < 0 || velocity_.z() < 0)
     {
-        FatalErrorIn
-        (
-            "surfaceDisplacementPointPatchVectorField::\n"
-            "surfaceDisplacementPointPatchVectorField\n"
-            "(\n"
-            "    const pointPatch& p,\n"
-            "    const DimensionedField<vector, pointMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n"
-        )   << "All components of velocity have to be positive : "
+        FatalErrorInFunction
+            << "All components of velocity have to be positive : "
             << velocity_ << nl
             << "Set velocity components to a great value if no clipping"
             << " necessary." << exit(FatalError);
diff --git a/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C b/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C
index 54725088c62..a27dd4ab8c8 100644
--- a/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C
+++ b/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -351,10 +351,8 @@ void Foam::timeVaryingMappedFixedValuePointPatchField<Type>::checkTable()
 
     if (!foundTime)
     {
-        FatalErrorIn
-        (
-            "timeVaryingMappedFixedValuePointPatchField<Type>::checkTable"
-        )   << "Cannot find starting sampling values for current time "
+        FatalErrorInFunction
+            << "Cannot find starting sampling values for current time "
             << this->db().time().value() << nl
             << "Have sampling values for times "
             << pointToPointPlanarInterpolation::timeNames(sampleTimes_) << nl
@@ -416,11 +414,8 @@ void Foam::timeVaryingMappedFixedValuePointPatchField<Type>::checkTable()
 
             if (vals.size() != mapperPtr_().sourceSize())
             {
-                FatalErrorIn
-                (
-                    "timeVaryingMappedFixedValuePointPatchField<Type>::"
-                    "checkTable()"
-                )   << "Number of values (" << vals.size()
+                FatalErrorInFunction
+                    << "Number of values (" << vals.size()
                     << ") differs from the number of points ("
                     <<  mapperPtr_().sourceSize()
                     << ") in file " << vals.objectPath() << exit(FatalError);
@@ -473,11 +468,8 @@ void Foam::timeVaryingMappedFixedValuePointPatchField<Type>::checkTable()
 
             if (vals.size() != mapperPtr_().sourceSize())
             {
-                FatalErrorIn
-                (
-                    "timeVaryingMappedFixedValuePointPatchField<Type>::"
-                    "checkTable()"
-                )   << "Number of values (" << vals.size()
+                FatalErrorInFunction
+                    << "Number of values (" << vals.size()
                     << ") differs from the number of points ("
                     <<  mapperPtr_().sourceSize()
                     << ") in file " << vals.objectPath() << exit(FatalError);
diff --git a/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.C b/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.C
index dd660e92b8b..ad48d728f97 100644
--- a/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.C
+++ b/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -96,16 +96,8 @@ uniformInterpolatedDisplacementPointPatchVectorField
 
     if (timeNames_.size() < 1)
     {
-        FatalErrorIn
-        (
-            "uniformInterpolatedDisplacementPointPatchVectorField::\n"
-            "uniformInterpolatedDisplacementPointPatchVectorField\n"
-            "(\n"
-            "    const pointPatch&,\n"
-            "    const DimensionedField<vector, pointMesh>&,\n"
-            "    const dictionary&\n"
-            ")\n"
-        )   << "Did not find any times with " << fieldName_
+        FatalErrorInFunction
+            << "Did not find any times with " << fieldName_
             << exit(FatalError);
     }
 
diff --git a/src/fvOptions/cellSetOption/cellSetOption.C b/src/fvOptions/cellSetOption/cellSetOption.C
index 0711348e8bd..8864683ceb0 100644
--- a/src/fvOptions/cellSetOption/cellSetOption.C
+++ b/src/fvOptions/cellSetOption/cellSetOption.C
@@ -79,7 +79,7 @@ void Foam::fv::cellSetOption::setSelection(const dictionary& dict)
         }
         default:
         {
-            FatalErrorIn("::setSelection(const dictionary&)")
+            FatalErrorInFunction
                 << "Unknown selectionMode "
                 << selectionModeTypeNames_[selectionMode_]
                 << ". Valid selectionMode types are" << selectionModeTypeNames_
@@ -110,7 +110,7 @@ void Foam::fv::cellSetOption::setCellSet()
                 label globalCellI = returnReduce(cellI, maxOp<label>());
                 if (globalCellI < 0)
                 {
-                    WarningIn("cellSetOption::setCellSet()")
+                    WarningInFunction
                         << "Unable to find owner cell for point " << points_[i]
                         << endl;
                 }
@@ -139,7 +139,7 @@ void Foam::fv::cellSetOption::setCellSet()
             label zoneID = mesh_.cellZones().findZoneID(cellSetName_);
             if (zoneID == -1)
             {
-                FatalErrorIn("cellSetOption::setCellIds()")
+                FatalErrorInFunction
                     << "Cannot find cellZone " << cellSetName_ << endl
                     << "Valid cellZones are " << mesh_.cellZones().names()
                     << exit(FatalError);
@@ -157,7 +157,7 @@ void Foam::fv::cellSetOption::setCellSet()
         }
         default:
         {
-            FatalErrorIn("cellSetOption::setCellSet()")
+            FatalErrorInFunction
                 << "Unknown selectionMode "
                 << selectionModeTypeNames_[selectionMode_]
                 << ". Valid selectionMode types are" << selectionModeTypeNames_
diff --git a/src/fvOptions/fvOption/fvOption.C b/src/fvOptions/fvOption/fvOption.C
index ff944d4fe5a..967ee01ceaa 100644
--- a/src/fvOptions/fvOption/fvOption.C
+++ b/src/fvOptions/fvOption/fvOption.C
@@ -80,10 +80,8 @@ Foam::autoPtr<Foam::fv::option> Foam::fv::option::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "option::New(const word&, const dictionary&, const fvMesh&)"
-        )   << "Unknown Model type " << modelType << nl << nl
+        FatalErrorInFunction
+            << "Unknown Model type " << modelType << nl << nl
             << "Valid model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
             << exit(FatalError);
@@ -117,7 +115,7 @@ void Foam::fv::option::checkApplied() const
     {
         if (!applied_[i])
         {
-            WarningIn("void option::checkApplied() const")
+            WarningInFunction
                 << "Source " << name_ << " defined for field "
                 << fieldNames_[i] << " but never used" << endl;
         }
diff --git a/src/fvOptions/interRegionOption/interRegionOption.C b/src/fvOptions/interRegionOption/interRegionOption.C
index 332d02dfeb5..973fd952c59 100644
--- a/src/fvOptions/interRegionOption/interRegionOption.C
+++ b/src/fvOptions/interRegionOption/interRegionOption.C
@@ -49,7 +49,7 @@ void Foam::fv::interRegionOption::setMapper()
 
         if (mesh_.name() == nbrMesh.name())
         {
-            FatalErrorIn("interRegionOption::setCellIds()")
+            FatalErrorInFunction
                 << "Inter-region model selected, but local and "
                 << "neighbour regions are the same: " << nl
                 << "    local region: " << mesh_.name() << nl
@@ -75,7 +75,7 @@ void Foam::fv::interRegionOption::setMapper()
         }
         else
         {
-            FatalErrorIn("interRegionOption::setCellSet()")
+            FatalErrorInFunction
                 << "regions " << mesh_.name() << " and "
                 << nbrMesh.name() <<  " do not intersect"
                 << exit(FatalError);
diff --git a/src/fvOptions/interRegionOption/interRegionOptionI.H b/src/fvOptions/interRegionOption/interRegionOptionI.H
index 12c73c4b89b..738b6993469 100644
--- a/src/fvOptions/interRegionOption/interRegionOptionI.H
+++ b/src/fvOptions/interRegionOption/interRegionOptionI.H
@@ -37,10 +37,8 @@ Foam::fv::interRegionOption::meshInterp() const
 {
     if (!meshInterpPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "const meshToMesh& interRegionOption::meshInterp() const"
-        )   << "Interpolation object not set"
+        FatalErrorInFunction
+            << "Interpolation object not set"
             << abort(FatalError);
     }
 
diff --git a/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.C b/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.C
index 304f7c61987..9b9049e6bc4 100644
--- a/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.C
+++ b/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.C
@@ -52,25 +52,25 @@ void Foam::fv::actuationDiskSource::checkData() const
 {
     if (magSqr(diskArea_) <= VSMALL)
     {
-        FatalErrorIn("Foam::fv::actuationDiskSource::checkData()")
+        FatalErrorInFunction
            << "diskArea is approximately zero"
            << exit(FatalIOError);
     }
     if (Cp_ <= VSMALL || Ct_ <= VSMALL)
     {
-        FatalErrorIn("Foam::fv::actuationDiskSource::checkData()")
+        FatalErrorInFunction
            << "Cp and Ct must be greater than zero"
            << exit(FatalIOError);
     }
     if (mag(diskDir_) < VSMALL)
     {
-        FatalErrorIn("Foam::fv::actuationDiskSource::checkData()")
+        FatalErrorInFunction
            << "disk direction vector is approximately zero"
            << exit(FatalIOError);
     }
     if (returnReduce(upstreamCellId_, maxOp<label>()) == -1)
     {
-        FatalErrorIn("Foam::fv::actuationDiskSource::checkData()")
+        FatalErrorInFunction
            << "upstream location " << upstreamPoint_  << " not found in mesh"
            << exit(FatalIOError);
     }
diff --git a/src/fvOptions/sources/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.C b/src/fvOptions/sources/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.C
index 106db470755..d354c44303c 100644
--- a/src/fvOptions/sources/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.C
+++ b/src/fvOptions/sources/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.C
@@ -168,16 +168,7 @@ Foam::fv::effectivenessHeatExchangerSource::effectivenessHeatExchangerSource
 {
     if (zoneID_ < 0)
     {
-        FatalErrorIn
-        (
-            "effectivenessHeatExchangerSource::effectivenessHeatExchangerSource"
-            "("
-                "const word&, "
-                "const word&, "
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )
+        FatalErrorInFunction
             << type() << " " << this->name() << ": "
             << "    Unknown face zone name: " << faceZoneName_
             << ". Valid face zones are: " << mesh_.faceZones().names()
diff --git a/src/fvOptions/sources/derived/explicitPorositySource/explicitPorositySource.C b/src/fvOptions/sources/derived/explicitPorositySource/explicitPorositySource.C
index e3c8d8a94ac..deca3d4445a 100644
--- a/src/fvOptions/sources/derived/explicitPorositySource/explicitPorositySource.C
+++ b/src/fvOptions/sources/derived/explicitPorositySource/explicitPorositySource.C
@@ -63,8 +63,7 @@ Foam::fv::explicitPorositySource::explicitPorositySource
 
     if (selectionMode_ != smCellZone)
     {
-        FatalErrorIn("void Foam::fv::explicitPorositySource::initialise()")
-            << "The porosity region must be specified as a cellZone.  Current "
+        FatalErrorInFunction
             << "selection mode is " << selectionModeTypeNames_[selectionMode_]
             << exit(FatalError);
     }
diff --git a/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C
index 4b717229ceb..f4a6ca68e61 100644
--- a/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C
+++ b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C
@@ -97,17 +97,7 @@ Foam::fv::meanVelocityForce::meanVelocityForce
 
     if (fieldNames_.size() != 1)
     {
-        FatalErrorIn
-        (
-            "Foam::fv::meanVelocityForce::"
-            "meanVelocityForce"
-            "("
-                "const word&, "
-                "const word&, "
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )   << "Source can only be applied to a single field.  Current "
+        FatalErrorInFunction
             << "settings are:" << fieldNames_ << exit(FatalError);
     }
 
diff --git a/src/fvOptions/sources/derived/meanVelocityForce/patchMeanVelocityForce/patchMeanVelocityForce.C b/src/fvOptions/sources/derived/meanVelocityForce/patchMeanVelocityForce/patchMeanVelocityForce.C
index 8fdf8a98815..9b1acd02b36 100644
--- a/src/fvOptions/sources/derived/meanVelocityForce/patchMeanVelocityForce/patchMeanVelocityForce.C
+++ b/src/fvOptions/sources/derived/meanVelocityForce/patchMeanVelocityForce/patchMeanVelocityForce.C
@@ -60,7 +60,7 @@ Foam::fv::patchMeanVelocityForce::patchMeanVelocityForce
 {
     if (patchi_ < 0)
     {
-        FatalErrorIn("fv::patchMeanVelocityForce::patchMeanVelocityForce")
+        FatalErrorInFunction
             << "Cannot find patch " << patch_
             << exit(FatalError);
     }
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/bladeModel/bladeModel.C b/src/fvOptions/sources/derived/rotorDiskSource/bladeModel/bladeModel.C
index 0f8978c4eea..e716ccd03a5 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/bladeModel/bladeModel.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/bladeModel/bladeModel.C
@@ -125,7 +125,7 @@ Foam::bladeModel::bladeModel(const dictionary& dict)
     }
     else
     {
-        FatalErrorIn("Foam::bladeModel::bladeModel(const dictionary&)")
+        FatalErrorInFunction
             << "No blade data specified" << exit(FatalError);
     }
 }
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/lookup/lookupProfile.C b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/lookup/lookupProfile.C
index f07821c27bc..ce355867b1f 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/lookup/lookupProfile.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/lookup/lookupProfile.C
@@ -126,14 +126,8 @@ Foam::lookupProfile::lookupProfile
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::lookupProfile::lookupProfile"
-            "("
-                "const dictionary&, "
-                "const word&"
-            ")"
-        )   << "No profile data specified" << exit(FatalError);
+        FatalErrorInFunction
+            << "No profile data specified" << exit(FatalError);
     }
 }
 
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModel.C b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModel.C
index b70c677423b..8934fa53ad2 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModel.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -84,7 +84,7 @@ Foam::autoPtr<Foam::profileModel> Foam::profileModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("profileModel::New(const dictionary&)")
+        FatalErrorInFunction
             << "Unknown profile model type " << modelType
             << nl << nl
             << "Valid model types are :" << nl
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModelList.C b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModelList.C
index 7b7a2bed5da..f39131df6ba 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModelList.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModelList.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -105,7 +105,7 @@ void Foam::profileModelList::connectBlades
                 profileNames[i] = pm.name();
             }
 
-            FatalErrorIn("void Foam::connectBlades(List<word>& names) const")
+            FatalErrorInFunction
                 << "Profile " << profileName << " could not be found "
                 << "in profile list.  Available profiles are"
                 << profileNames << exit(FatalError);
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/series/seriesProfile.C b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/series/seriesProfile.C
index 56750e8d86d..eb7746dea2f 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/series/seriesProfile.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/series/seriesProfile.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -100,25 +100,13 @@ Foam::seriesProfile::seriesProfile
 
     if (CdCoeffs_.empty())
     {
-        FatalErrorIn
-        (
-            "Foam::seriesProfile::seriesProfile"
-            "("
-                "const dictionary&, "
-                "const word&"
-            ")"
-        )   << "CdCoeffs must be specified" << exit(FatalError);
+        FatalErrorInFunction
+            << "CdCoeffs must be specified" << exit(FatalError);
     }
     if (ClCoeffs_.empty())
     {
-        FatalErrorIn
-        (
-            "Foam::seriesProfile::seriesProfile"
-            "("
-                "const dictionary&, "
-                "const word&"
-            ")"
-        )   << "ClCoeffs must be specified" << exit(FatalError);
+        FatalErrorInFunction
+            << "ClCoeffs must be specified" << exit(FatalError);
     }
 }
 
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.C b/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.C
index 73e11394e76..e88c02c664f 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.C
@@ -101,7 +101,7 @@ void Foam::fv::rotorDiskSource::checkData()
                 }
                 default:
                 {
-                    FatalErrorIn("void rotorDiskSource::checkData()")
+                    FatalErrorInFunction
                         << "Unknown inlet velocity type" << abort(FatalError);
                 }
             }
@@ -111,7 +111,7 @@ void Foam::fv::rotorDiskSource::checkData()
         }
         default:
         {
-            FatalErrorIn("void rotorDiskSource::checkData()")
+            FatalErrorInFunction
                 << "Source cannot be used with '"
                 << selectionModeTypeNames_[selectionMode()]
                 << "' mode.  Please use one of: " << nl
@@ -374,7 +374,7 @@ void Foam::fv::rotorDiskSource::createCoordinateSystem()
         }
         default:
         {
-            FatalErrorIn("rotorDiskSource::createCoordinateSystem()")
+            FatalErrorInFunction
                 << "Unknown geometryMode " << geometryModeTypeNames_[gm]
                 << ". Available geometry modes include "
                 << geometryModeTypeNames_ << exit(FatalError);
@@ -454,12 +454,8 @@ Foam::tmp<Foam::vectorField> Foam::fv::rotorDiskSource::inflowVelocity
         }
         default:
         {
-            FatalErrorIn
-            (
-                "Foam::tmp<Foam::vectorField> "
-                "Foam::fv::rotorDiskSource::inflowVelocity"
-                "(const volVectorField&) const"
-            )   << "Unknown inlet flow specification" << abort(FatalError);
+            FatalErrorInFunction
+                << "Unknown inlet flow specification" << abort(FatalError);
         }
     }
 
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C b/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C
index a0664e696d6..181db2575e4 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C
@@ -190,7 +190,7 @@ void Foam::fv::rotorDiskSource::writeField
 
         if (cells_.size() != values.size())
         {
-            FatalErrorIn("") << "cells_.size() != values_.size()"
+            FatalErrorInFunction
                 << abort(FatalError);
         }
 
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/trimModel/trimModel/trimModelNew.C b/src/fvOptions/sources/derived/rotorDiskSource/trimModel/trimModel/trimModelNew.C
index 401e04ae8d4..e8c01c639b1 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/trimModel/trimModel/trimModelNew.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/trimModel/trimModel/trimModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,10 +42,8 @@ Foam::autoPtr<Foam::trimModel> Foam::trimModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "trimModel::New(const rotorDiskSource&, const dictionary&)"
-        )   << "Unknown " << typeName << " type "
+        FatalErrorInFunction
+            << "Unknown " << typeName << " type "
             << modelType << nl << nl
             << "Valid " << typeName << " types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C
index b4120b984a7..f7ce048afa2 100644
--- a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C
+++ b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C
@@ -116,11 +116,7 @@ Foam::fv::solidificationMeltingSource::Cp() const
         }
         default:
         {
-            FatalErrorIn
-            (
-                "Foam::tmp<Foam::volScalarField> "
-                "Foam::fv::solidificationMeltingSource::Cp() const"
-            )
+            FatalErrorInFunction
                 << "Unhandled thermo mode: " << thermoModeTypeNames_[mode_]
                 << abort(FatalError);
         }
@@ -240,10 +236,8 @@ Foam::fv::solidificationMeltingSource::solidificationMeltingSource
         }
         default:
         {
-            FatalErrorIn
-            (
-                "fv::solidificationMeltingSource::solidificationMeltingSource"
-            )   << "Unhandled thermo mode: " << thermoModeTypeNames_[mode_]
+            FatalErrorInFunction
+                << "Unhandled thermo mode: " << thermoModeTypeNames_[mode_]
                 << abort(FatalError);
         }
     }
diff --git a/src/fvOptions/sources/derived/tabulatedAccelerationSource/tabulated6DoFAcceleration/tabulated6DoFAcceleration.C b/src/fvOptions/sources/derived/tabulatedAccelerationSource/tabulated6DoFAcceleration/tabulated6DoFAcceleration.C
index 9a482b7012b..aae2e1e07aa 100644
--- a/src/fvOptions/sources/derived/tabulatedAccelerationSource/tabulated6DoFAcceleration/tabulated6DoFAcceleration.C
+++ b/src/fvOptions/sources/derived/tabulatedAccelerationSource/tabulated6DoFAcceleration/tabulated6DoFAcceleration.C
@@ -66,10 +66,8 @@ Foam::tabulated6DoFAcceleration::acceleration() const
 
     if (t < times_[0])
     {
-        FatalErrorIn
-        (
-            "tabulated6DoFAcceleration::acceleration()"
-        )   << "current time (" << t
+        FatalErrorInFunction
+            << "current time (" << t
             << ") is less than the minimum in the data table ("
             << times_[0] << ')'
             << exit(FatalError);
@@ -77,10 +75,8 @@ Foam::tabulated6DoFAcceleration::acceleration() const
 
     if (t > times_.last())
     {
-        FatalErrorIn
-        (
-            "tabulated6DoFAcceleration::acceleration()"
-        )   << "current time (" << t
+        FatalErrorInFunction
+            << "current time (" << t
             << ") is greater than the maximum in the data table ("
             << times_.last() << ')'
             << exit(FatalError);
@@ -138,10 +134,8 @@ bool Foam::tabulated6DoFAcceleration::read
         }
         else
         {
-            FatalErrorIn
-            (
-                "tabulated6DoFAcceleration::read(const dictionary&)"
-            )   << "Cannot open time data file " << timeDataFileName_
+            FatalErrorInFunction
+                << "Cannot open time data file " << timeDataFileName_
                 << exit(FatalError);
         }
     }
diff --git a/src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C b/src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C
index 4b8c48b411a..c7643dd71af 100644
--- a/src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C
+++ b/src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C
@@ -55,11 +55,8 @@ Foam::fv::SemiImplicitSource<Type>::wordToVolumeModeType
         }
     }
 
-    FatalErrorIn
-    (
-        "SemiImplicitSource<Type>::volumeModeType"
-        "SemiImplicitSource<Type>::wordToVolumeModeType(const word&)"
-    )   << "Unknown volumeMode type " << vmtName
+    FatalErrorInFunction
+        << "Unknown volumeMode type " << vmtName
         << ". Valid volumeMode types are:" << nl << volumeModeTypeNames_
         << exit(FatalError);
 
diff --git a/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.C b/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.C
index 5452142948f..10636cf4a2e 100644
--- a/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.C
+++ b/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.C
@@ -84,10 +84,7 @@ void Foam::fv::interRegionExplicitPorositySource::initialise()
     }
     else
     {
-        FatalErrorIn
-        (
-            "void Foam::fv::interRegionExplicitPorositySource::initialise()"
-        )
+        FatalErrorInFunction
             << "Unable to create porous cellZone " << zoneName
             << ": zone already exists"
             << abort(FatalError);
diff --git a/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModel.C b/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModel.C
index 213f96a24e3..170f72517ba 100644
--- a/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModel.C
+++ b/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModel.C
@@ -71,7 +71,7 @@ void Foam::fv::interRegionHeatTransferModel::setNbrModel()
 
     if (!nbrModelFound)
     {
-        FatalErrorIn("interRegionHeatTransferModel::setNbrModel()")
+        FatalErrorInFunction
             << "Neighbour model not found" << nbrModelName_
             << " in region " << nbrMesh.name() << nl
             << exit(FatalError);
@@ -241,14 +241,8 @@ void Foam::fv::interRegionHeatTransferModel::addSup
             }
             else
             {
-                FatalErrorIn
-                (
-                    "void Foam::fv::interRegionHeatTransferModel::addSup"
-                    "("
-                    "   fvMatrix<scalar>&, "
-                    "   const label "
-                    ")"
-                )   << " on mesh " << mesh_.name()
+                FatalErrorInFunction
+                    << " on mesh " << mesh_.name()
                     << " could not find object basicThermo."
                     << " The available objects are: "
                     << mesh_.names()
diff --git a/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModelI.H b/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModelI.H
index 89c6771a6fa..42f7fd28a5c 100644
--- a/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModelI.H
+++ b/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModelI.H
@@ -37,10 +37,8 @@ Foam::fv::interRegionHeatTransferModel::meshInterp() const
 {
     if (!meshInterpPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "const meshToMesh& interRegionHeatTransferModel::meshInterp() const"
-        )   << "Interpolation object not set"
+        FatalErrorInFunction
+            << "Interpolation object not set"
             << abort(FatalError);
     }
 
@@ -60,7 +58,7 @@ Foam::fv::interRegionHeatTransferModel::nbrModel() const
 {
     if (nbrModel_ == NULL)
     {
-        FatalErrorIn("const interRegionHeatTransferModel& nbrModel() const")
+        FatalErrorInFunction
             << "Neighbour model not set"
             << abort(FatalError);
     }
@@ -74,7 +72,7 @@ Foam::fv::interRegionHeatTransferModel::nbrModel()
 {
     if (nbrModel_ == NULL)
     {
-        FatalErrorIn("interRegionHeatTransferModel& nbrModel()")
+        FatalErrorInFunction
             << "Neighbour model not set"
             << abort(FatalError);
     }
diff --git a/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C
index 120d7b1c52b..0a7afe5cb2e 100644
--- a/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C
+++ b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -37,11 +37,7 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
 :
     calculatedFvPatchField<Type>(p, iF)
 {
-    FatalErrorIn
-    (
-        "genericFvPatchField<Type>::genericFvPatchField"
-        "(const fvPatch& p, const DimensionedField<Type, volMesh>& iF)"
-    )   << "Not Implemented\n    "
+    FatalErrorInFunction
         << "Trying to construct an genericFvPatchField on patch "
         << this->patch().name()
         << " of field " << this->dimensionedInternalField().name()
@@ -63,10 +59,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
 {
     if (!dict.found("value"))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "genericFvPatchField<Type>::genericFvPatchField"
-            "(const fvPatch&, const Field<Type>&, const dictionary&)",
             dict
         )   << "\n    Cannot find 'value' entry"
             << " on patch " << this->patch().name()
@@ -120,11 +114,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
                         }
                         else
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericFvPatchField<Type>::genericFvPatchField"
-                                "(const fvPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    token following 'nonuniform' "
                                   "is not a compound"
@@ -153,11 +144,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericFvPatchField<Type>::genericFvPatchField"
-                                "(const fvPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -190,11 +178,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericFvPatchField<Type>::genericFvPatchField"
-                                "(const fvPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -230,11 +215,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericFvPatchField<Type>::genericFvPatchField"
-                                "(const fvPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -270,11 +252,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericFvPatchField<Type>::genericFvPatchField"
-                                "(const fvPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -307,11 +286,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericFvPatchField<Type>::genericFvPatchField"
-                                "(const fvPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -329,11 +305,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
                     }
                     else
                     {
-                        FatalIOErrorIn
+                        FatalIOErrorInFunction
                         (
-                            "genericFvPatchField<Type>::genericFvPatchField"
-                            "(const fvPatch&, const Field<Type>&, "
-                            "const dictionary&)",
                             dict
                         )   << "\n    compound " << fieldToken.compoundToken()
                             << " not supported"
@@ -419,11 +392,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
                         }
                         else
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericFvPatchField<Type>::genericFvPatchField"
-                                "(const fvPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    unrecognised native type " << l
                                 << "\n    on patch " << this->patch().name()
@@ -724,12 +694,8 @@ Foam::genericFvPatchField<Type>::valueInternalCoeffs
     const tmp<scalarField>&
 ) const
 {
-    FatalErrorIn
-    (
-        "genericFvPatchField<Type>::"
-        "valueInternalCoeffs(const tmp<scalarField>&) const"
-    )   << "\n    "
-           "valueInternalCoeffs cannot be called for a genericFvPatchField"
+    FatalErrorInFunction
+        << "cannot be called for a genericFvPatchField"
            " (actual type " << actualTypeName_ << ")"
         << "\n    on patch " << this->patch().name()
         << " of field " << this->dimensionedInternalField().name()
@@ -749,12 +715,8 @@ Foam::genericFvPatchField<Type>::valueBoundaryCoeffs
     const tmp<scalarField>&
 ) const
 {
-    FatalErrorIn
-    (
-        "genericFvPatchField<Type>::"
-        "valueBoundaryCoeffs(const tmp<scalarField>&) const"
-    )   << "\n    "
-           "valueBoundaryCoeffs cannot be called for a genericFvPatchField"
+    FatalErrorInFunction
+        << "cannot be called for a genericFvPatchField"
            " (actual type " << actualTypeName_ << ")"
         << "\n    on patch " << this->patch().name()
         << " of field " << this->dimensionedInternalField().name()
@@ -771,12 +733,8 @@ template<class Type>
 Foam::tmp<Foam::Field<Type> >
 Foam::genericFvPatchField<Type>::gradientInternalCoeffs() const
 {
-    FatalErrorIn
-    (
-        "genericFvPatchField<Type>::"
-        "gradientInternalCoeffs() const"
-    )   << "\n    "
-           "gradientInternalCoeffs cannot be called for a genericFvPatchField"
+    FatalErrorInFunction
+        << "cannot be called for a genericFvPatchField"
            " (actual type " << actualTypeName_ << ")"
         << "\n    on patch " << this->patch().name()
         << " of field " << this->dimensionedInternalField().name()
@@ -792,12 +750,8 @@ template<class Type>
 Foam::tmp<Foam::Field<Type> >
 Foam::genericFvPatchField<Type>::gradientBoundaryCoeffs() const
 {
-    FatalErrorIn
-    (
-        "genericFvPatchField<Type>::"
-        "gradientBoundaryCoeffs() const"
-    )   << "\n    "
-           "gradientBoundaryCoeffs cannot be called for a genericFvPatchField"
+    FatalErrorInFunction
+        << "cannot be called for a genericFvPatchField"
            " (actual type " << actualTypeName_ << ")"
         << "\n    on patch " << this->patch().name()
         << " of field " << this->dimensionedInternalField().name()
diff --git a/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C b/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C
index c477c89dcde..08b254e658c 100644
--- a/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C
+++ b/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C
@@ -97,12 +97,8 @@ genericPointPatchField<Type>::genericPointPatchField
                         }
                         else
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericPointPatchField<Type>::"
-                                "genericPointPatchField"
-                                "(const pointPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    token following 'nonuniform' "
                                   "is not a compound"
@@ -131,12 +127,8 @@ genericPointPatchField<Type>::genericPointPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericPointPatchField<Type>::"
-                                "genericPointPatchField"
-                                "(const pointPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -169,12 +161,8 @@ genericPointPatchField<Type>::genericPointPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericPointPatchField<Type>::"
-                                "genericPointPatchField"
-                                "(const pointPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -210,12 +198,8 @@ genericPointPatchField<Type>::genericPointPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericPointPatchField<Type>::"
-                                "genericPointPatchField"
-                                "(const pointPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -251,12 +235,8 @@ genericPointPatchField<Type>::genericPointPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericPointPatchField<Type>::"
-                                "genericPointPatchField"
-                                "(const pointPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -289,12 +269,8 @@ genericPointPatchField<Type>::genericPointPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericPointPatchField<Type>::"
-                                "genericPointPatchField"
-                                "(const pointPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -312,12 +288,8 @@ genericPointPatchField<Type>::genericPointPatchField
                     }
                     else
                     {
-                        FatalIOErrorIn
+                        FatalIOErrorInFunction
                         (
-                            "genericPointPatchField<Type>::"
-                            "genericPointPatchField"
-                            "(const pointPatch&, const Field<Type>&, "
-                            "const dictionary&)",
                             dict
                         )   << "\n    compound " << fieldToken.compoundToken()
                             << " not supported"
diff --git a/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C b/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C
index aafa52ca59a..3cc13ad356d 100644
--- a/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C
+++ b/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C
@@ -131,7 +131,7 @@ void Foam::DSMCCloud<ParcelType>::initialise
 
                 if (typeId == -1)
                 {
-                    FatalErrorIn("Foam::DSMCCloud<ParcelType>::initialise")
+                    FatalErrorInFunction
                         << "typeId " << moleculeName << "not defined." << nl
                         << abort(FatalError);
                 }
diff --git a/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloudI.H b/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloudI.H
index 4d0ee08b6c1..16801a7bf78 100644
--- a/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloudI.H
+++ b/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloudI.H
@@ -107,7 +107,7 @@ Foam::DSMCCloud<ParcelType>::constProps
 {
     if (typeId < 0 || typeId >= constProps_.size())
     {
-        FatalErrorIn("Foam::DSMCCloud<ParcelType>::constProps(label typeId)")
+        FatalErrorInFunction
             << "constantProperties for requested typeId index "
             << typeId << " do not exist" << nl
             << abort(FatalError);
diff --git a/src/lagrangian/DSMC/submodels/BinaryCollisionModel/BinaryCollisionModel/BinaryCollisionModelNew.C b/src/lagrangian/DSMC/submodels/BinaryCollisionModel/BinaryCollisionModel/BinaryCollisionModelNew.C
index f01e28c9169..4d528d0304f 100644
--- a/src/lagrangian/DSMC/submodels/BinaryCollisionModel/BinaryCollisionModel/BinaryCollisionModelNew.C
+++ b/src/lagrangian/DSMC/submodels/BinaryCollisionModel/BinaryCollisionModel/BinaryCollisionModelNew.C
@@ -44,11 +44,7 @@ Foam::BinaryCollisionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "BinaryCollisionModel<CloudType>::New"
-            "(const dictionary&, CloudType&)"
-        )
+        FatalErrorInFunction
             << "Unknown BinaryCollisionModel type "
             << modelType << nl << nl
             << "Valid BinaryCollisionModel types are:" << nl
diff --git a/src/lagrangian/DSMC/submodels/BinaryCollisionModel/NoBinaryCollision/NoBinaryCollision.C b/src/lagrangian/DSMC/submodels/BinaryCollisionModel/NoBinaryCollision/NoBinaryCollision.C
index 587d10a3bb7..d5c2d19b411 100644
--- a/src/lagrangian/DSMC/submodels/BinaryCollisionModel/NoBinaryCollision/NoBinaryCollision.C
+++ b/src/lagrangian/DSMC/submodels/BinaryCollisionModel/NoBinaryCollision/NoBinaryCollision.C
@@ -64,14 +64,7 @@ Foam::scalar Foam::NoBinaryCollision<CloudType>::sigmaTcR
     const typename CloudType::parcelType& pQ
 ) const
 {
-    FatalErrorIn
-    (
-        "Foam::scalar Foam::NoBinaryCollision<CloudType>::sigmaTcR"
-        "("
-            "const typename CloudType::parcelType&, "
-            "const typename CloudType::parcelType"
-        ") const"
-    )
+    FatalErrorInFunction
         << "sigmaTcR called on NoBinaryCollision model, this should "
         << "not happen, this is not an actual model." << nl
         << "Enclose calls to sigmaTcR within a if (binaryCollision().active()) "
diff --git a/src/lagrangian/DSMC/submodels/InflowBoundaryModel/FreeStream/FreeStream.C b/src/lagrangian/DSMC/submodels/InflowBoundaryModel/FreeStream/FreeStream.C
index c497b21d0f1..7fd2bc75370 100644
--- a/src/lagrangian/DSMC/submodels/InflowBoundaryModel/FreeStream/FreeStream.C
+++ b/src/lagrangian/DSMC/submodels/InflowBoundaryModel/FreeStream/FreeStream.C
@@ -97,14 +97,8 @@ Foam::FreeStream<CloudType>::FreeStream
 
         if (moleculeTypeIds_[i] == -1)
         {
-            FatalErrorIn
-            (
-                "Foam::FreeStream<CloudType>::FreeStream"
-                "("
-                    "const dictionary&, "
-                    "CloudType&"
-                ")"
-            )   << "typeId " << molecules[i] << "not defined in cloud." << nl
+            FatalErrorInFunction
+                << "typeId " << molecules[i] << "not defined in cloud." << nl
                 << abort(FatalError);
         }
     }
@@ -190,7 +184,7 @@ void Foam::FreeStream<CloudType>::inflow()
 
             if (min(boundaryT[patchi]) < SMALL)
             {
-                FatalErrorIn ("Foam::FreeStream<CloudType>::inflow()")
+                FatalErrorInFunction
                     << "Zero boundary temperature detected, check boundaryT "
                     << "condition." << nl
                     << nl << abort(FatalError);
diff --git a/src/lagrangian/DSMC/submodels/InflowBoundaryModel/InflowBoundaryModel/InflowBoundaryModelNew.C b/src/lagrangian/DSMC/submodels/InflowBoundaryModel/InflowBoundaryModel/InflowBoundaryModelNew.C
index c80e58159df..9fd145d1044 100644
--- a/src/lagrangian/DSMC/submodels/InflowBoundaryModel/InflowBoundaryModel/InflowBoundaryModelNew.C
+++ b/src/lagrangian/DSMC/submodels/InflowBoundaryModel/InflowBoundaryModel/InflowBoundaryModelNew.C
@@ -44,11 +44,8 @@ Foam::InflowBoundaryModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "InflowBoundaryModel<CloudType>::New"
-            "(const dictionary&, CloudType&)"
-        )   << "Unknown InflowBoundaryModel type "
+        FatalErrorInFunction
+            << "Unknown InflowBoundaryModel type "
             << modelType << nl << nl
             << "Valid InflowBoundaryModel types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/DSMC/submodels/WallInteractionModel/WallInteractionModel/WallInteractionModelNew.C b/src/lagrangian/DSMC/submodels/WallInteractionModel/WallInteractionModel/WallInteractionModelNew.C
index 1100028c868..179bdc6d593 100644
--- a/src/lagrangian/DSMC/submodels/WallInteractionModel/WallInteractionModel/WallInteractionModelNew.C
+++ b/src/lagrangian/DSMC/submodels/WallInteractionModel/WallInteractionModel/WallInteractionModelNew.C
@@ -44,11 +44,7 @@ Foam::WallInteractionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "WallInteractionModel<CloudType>::New"
-            "(const dictionary&, CloudType&)"
-        )
+        FatalErrorInFunction
             << "Unknown WallInteractionModel type "
             << modelType << nl << nl
             << "Valid WallInteractionModel types are:" << nl
diff --git a/src/lagrangian/basic/Cloud/Cloud.C b/src/lagrangian/basic/Cloud/Cloud.C
index 8c365799746..c42136c92de 100644
--- a/src/lagrangian/basic/Cloud/Cloud.C
+++ b/src/lagrangian/basic/Cloud/Cloud.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,7 +56,7 @@ void Foam::Cloud<ParticleType>::checkPatches() const
 
     if (!ok)
     {
-        FatalErrorIn("void Foam::Cloud<ParticleType>::initCloud(const bool)")
+        FatalErrorInFunction
             << "Particle tracking across AMI patches is only currently "
             << "supported for cases where the AMI patches reside on a "
             << "single processor" << abort(FatalError);
diff --git a/src/lagrangian/basic/Cloud/CloudIO.C b/src/lagrangian/basic/Cloud/CloudIO.C
index 1845d541657..8a297d94142 100644
--- a/src/lagrangian/basic/Cloud/CloudIO.C
+++ b/src/lagrangian/basic/Cloud/CloudIO.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -219,11 +219,8 @@ void Foam::Cloud<ParticleType>::checkFieldIOobject
 {
     if (data.size() != c.size())
     {
-        FatalErrorIn
-        (
-            "void Cloud<ParticleType>::checkFieldIOobject"
-            "(const Cloud<ParticleType>&, const IOField<DataType>&) const"
-        )   << "Size of " << data.name()
+        FatalErrorInFunction
+            << "Size of " << data.name()
             << " field " << data.size()
             << " does not match the number of particles " << c.size()
             << abort(FatalError);
@@ -241,14 +238,8 @@ void Foam::Cloud<ParticleType>::checkFieldFieldIOobject
 {
     if (data.size() != c.size())
     {
-        FatalErrorIn
-        (
-            "void Cloud<ParticleType>::checkFieldFieldIOobject"
-            "("
-                "const Cloud<ParticleType>&, "
-                "const CompactIOField<Field<DataType>, DataType>&"
-            ") const"
-        )   << "Size of " << data.name()
+        FatalErrorInFunction
+            << "Size of " << data.name()
             << " field " << data.size()
             << " does not match the number of particles " << c.size()
             << abort(FatalError);
diff --git a/src/lagrangian/basic/IOPosition/IOPosition.C b/src/lagrangian/basic/IOPosition/IOPosition.C
index 5bb41e5fd87..b89b2c0b4c3 100644
--- a/src/lagrangian/basic/IOPosition/IOPosition.C
+++ b/src/lagrangian/basic/IOPosition/IOPosition.C
@@ -107,9 +107,8 @@ void Foam::IOPosition<CloudType>::readData(CloudType& c, bool checkClass)
     {
         if (firstToken.pToken() != token::BEGIN_LIST)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "void IOPosition<CloudType>::readData(CloudType&, bool)",
                 is
             )   << "incorrect first token, '(', found "
                 << firstToken.info() << exit(FatalIOError);
@@ -133,9 +132,8 @@ void Foam::IOPosition<CloudType>::readData(CloudType& c, bool checkClass)
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "void IOPosition<ParticleType>::readData(CloudType&, bool)",
             is
         )   << "incorrect first token, expected <int> or '(', found "
             << firstToken.info() << exit(FatalIOError);
diff --git a/src/lagrangian/basic/InteractionLists/InteractionLists.C b/src/lagrangian/basic/InteractionLists/InteractionLists.C
index 4ec03e34b9f..ec2967ee446 100644
--- a/src/lagrangian/basic/InteractionLists/InteractionLists.C
+++ b/src/lagrangian/basic/InteractionLists/InteractionLists.C
@@ -1165,14 +1165,7 @@ void Foam::InteractionLists<ParticleType>::sendReferredData
 {
     if (mesh_.changing())
     {
-        WarningIn
-        (
-            "void Foam::InteractionLists<ParticleType>::sendReferredData"
-            "("
-                "const List<DynamicList<ParticleType*> >& cellOccupancy,"
-                "PstreamBuffers& pBufs"
-            ")"
-        )
+        WarningInFunction
             << "Mesh changing, rebuilding InteractionLists form scratch."
             << endl;
 
diff --git a/src/lagrangian/basic/InteractionLists/referredWallFace/referredWallFace.C b/src/lagrangian/basic/InteractionLists/referredWallFace/referredWallFace.C
index b6e8c91da63..bf497dd2c87 100644
--- a/src/lagrangian/basic/InteractionLists/referredWallFace/referredWallFace.C
+++ b/src/lagrangian/basic/InteractionLists/referredWallFace/referredWallFace.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,15 +48,8 @@ Foam::referredWallFace::referredWallFace
 {
     if (this->size() != pts_.size())
     {
-        FatalErrorIn
-        (
-            "Foam::referredWallFace::referredWallFace"
-            "("
-                "const face& f, "
-                "const pointField& pts, "
-                "label patchI"
-            ")"
-        )   << "Face and pointField are not the same size. " << nl << (*this)
+        FatalErrorInFunction
+            << "Face and pointField are not the same size. " << nl << (*this)
             << abort(FatalError);
     }
 }
@@ -70,13 +63,8 @@ Foam::referredWallFace::referredWallFace(const referredWallFace& rWF)
 {
     if (this->size() != pts_.size())
     {
-        FatalErrorIn
-        (
-            "Foam::referredWallFace::referredWallFace"
-            "("
-                "const referredWallFace& rWF"
-            ")"
-        )   << "Face and pointField are not the same size. " << nl << (*this)
+        FatalErrorInFunction
+            << "Face and pointField are not the same size. " << nl << (*this)
             << abort(FatalError);
     }
 }
diff --git a/src/lagrangian/basic/particle/particleI.H b/src/lagrangian/basic/particle/particleI.H
index 0ebd9748b4a..c1960b37d01 100644
--- a/src/lagrangian/basic/particle/particleI.H
+++ b/src/lagrangian/basic/particle/particleI.H
@@ -331,10 +331,7 @@ inline void Foam::particle::tetNeighbour(label triI)
 
     if (tetBasePtI == -1)
     {
-        FatalErrorIn
-        (
-            "inline void Foam::particle::tetNeighbour(label triI)"
-        )
+        FatalErrorInFunction
             << "No base point for face " << tetFaceI_ << ", " << f
             << ", produces a valid tet decomposition."
             << abort(FatalError);
@@ -447,11 +444,7 @@ inline void Foam::particle::tetNeighbour(label triI)
         }
         default:
         {
-            FatalErrorIn
-            (
-                "inline void "
-                "Foam::particle::tetNeighbour(label triI)"
-            )
+            FatalErrorInFunction
                 << "Tet tri face index error, can only be 0..3, supplied "
                 << triI << abort(FatalError);
 
@@ -530,17 +523,7 @@ inline void Foam::particle::crossEdgeConnectedFace
 
             if (tetBasePtI == -1)
             {
-                FatalErrorIn
-                (
-                    "inline void "
-                    "Foam::particle::crossEdgeConnectedFace"
-                    "("
-                        "const label& cellI,"
-                        "label& tetFaceI,"
-                        "label& tetPtI,"
-                        "const edge& e"
-                    ")"
-                )
+                FatalErrorInFunction
                     << "No base point for face " << fI << ", " << f
                     << ", produces a decomposition that has a minimum "
                     << "volume greater than tolerance."
@@ -586,7 +569,7 @@ inline Foam::label Foam::particle::getNewParticleID() const
 
     if (id == labelMax)
     {
-        WarningIn("particle::getNewParticleID() const")
+        WarningInFunction
             << "Particle counter has overflowed. This might cause problems"
             << " when reconstructing particle tracks." << endl;
     }
@@ -698,7 +681,7 @@ inline void Foam::particle::initCellFacePt()
 
         if (cellI_ == -1)
         {
-            FatalErrorIn("void Foam::particle::initCellFacePt()")
+            FatalErrorInFunction
                 << "cell, tetFace and tetPt search failure at position "
                 << position_ << abort(FatalError);
         }
@@ -732,8 +715,7 @@ inline void Foam::particle::initCellFacePt()
                     // it should be in, then this is considered an
                     // error.
 
-                    FatalErrorIn("void Foam::particle::initCellFacePt()")
-                        << "    cell, tetFace and tetPt search failure at "
+                    FatalErrorInFunction
                         << "position " << position_ << nl
                         << "    for requested cell " << oldCellI << nl
                         << "    If this is a restart or "
@@ -783,14 +765,14 @@ inline void Foam::particle::initCellFacePt()
 
                 if (tetFaceI_ == -1)
                 {
-                    FatalErrorIn("void Foam::particle::initCellFacePt()")
+                    FatalErrorInFunction
                         << "cell, tetFace and tetPt search failure at position "
                         << position_ << abort(FatalError);
                 }
 
                 if (debug)
                 {
-                    WarningIn("void Foam::particle::initCellFacePt()")
+                    WarningInFunction
                         << "Particle moved from " << position_
                         << " to " << newPosition
                         << " in cell " << cellI_
@@ -809,7 +791,7 @@ inline void Foam::particle::initCellFacePt()
 
             if (debug && cellI_ != oldCellI)
             {
-                WarningIn("void Foam::particle::initCellFacePt()")
+                WarningInFunction
                     << "Particle at position " << position_
                     << " searched for a cell, tetFace and tetPt." << nl
                     << "    Found"
diff --git a/src/lagrangian/basic/particle/particleTemplates.C b/src/lagrangian/basic/particle/particleTemplates.C
index 382df588f27..68bc5ab1e38 100644
--- a/src/lagrangian/basic/particle/particleTemplates.C
+++ b/src/lagrangian/basic/particle/particleTemplates.C
@@ -546,7 +546,7 @@ Foam::scalar Foam::particle::trackToFace
         }
         else
         {
-            FatalErrorIn("Particle::trackToFace(const vector&, TrackData&)")
+            FatalErrorInFunction
                 << "addressing failure" << abort(FatalError);
         }
     }
@@ -948,14 +948,8 @@ void Foam::particle::hitWedgePatch
     TrackData&
 )
 {
-    FatalErrorIn
-    (
-        "void Foam::particle::hitWedgePatch"
-        "("
-            "const wedgePolyPatch& wpp, "
-            "TrackData&"
-        ")"
-    )   << "Hitting a wedge patch should not be possible."
+    FatalErrorInFunction
+        << "Hitting a wedge patch should not be possible."
         << abort(FatalError);
 
     vector nf = normal();
@@ -1059,16 +1053,7 @@ void Foam::particle::hitCyclicAMIPatch
 
     if (patchFaceI < 0)
     {
-        FatalErrorIn
-        (
-            "template<class TrackData>"
-            "void Foam::particle::hitCyclicAMIPatch"
-            "("
-                "const cyclicAMIPolyPatch&, "
-                "TrackData&, "
-                "const vector&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Particle lost across " << cyclicAMIPolyPatch::typeName
             << " patches " << cpp.name() << " and " << receiveCpp.name()
             << " at position " << position_ << abort(FatalError);
diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C
index 7196440897f..7f7a9c25fdd 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C
@@ -60,14 +60,8 @@ Foam::COxidationDiffusionLimitedRate<CloudType>::COxidationDiffusionLimitedRate
 
     if (Sb_ < 0)
     {
-        FatalErrorIn
-        (
-            "COxidationDiffusionLimitedRate<CloudType>"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Stoichiometry of reaction, Sb, must be greater than zero" << nl
+        FatalErrorInFunction
+            << "Stoichiometry of reaction, Sb, must be greater than zero" << nl
             << exit(FatalError);
     }
 
diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C
index 3e6b6a8d555..59340028483 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C
@@ -66,14 +66,8 @@ Foam::COxidationIntrinsicRate<CloudType>::COxidationIntrinsicRate
 
     if (Sb_ < 0)
     {
-        FatalErrorIn
-        (
-            "COxidationIntrinsicRate<CloudType>"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Stoichiometry of reaction, Sb, must be greater than zero" << nl
+        FatalErrorInFunction
+            << "Stoichiometry of reaction, Sb, must be greater than zero" << nl
             << exit(FatalError);
     }
 
diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C
index b97b8ab0c19..30f9b1bb40e 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C
@@ -208,10 +208,8 @@ Foam::scalar Foam::COxidationMurphyShaddix<CloudType>::calculate
 
     if (iter > maxIters_)
     {
-        WarningIn
-        (
-            "scalar Foam::COxidationMurphyShaddix<CloudType>::calculate(...)"
-        )   << "iter limit reached (" << maxIters_ << ")" << nl << endl;
+        WarningInFunction
+            << "iter limit reached (" << maxIters_ << ")" << nl << endl;
     }
 
     // Calculate the number of molar units reacted
diff --git a/src/lagrangian/distributionModels/distributionModel/distributionModel.C b/src/lagrangian/distributionModels/distributionModel/distributionModel.C
index c04856d3aed..af5aa745cb8 100644
--- a/src/lagrangian/distributionModels/distributionModel/distributionModel.C
+++ b/src/lagrangian/distributionModels/distributionModel/distributionModel.C
@@ -43,7 +43,7 @@ void Foam::distributionModels::distributionModel::check() const
 {
     if (minValue() < 0)
     {
-        FatalErrorIn("distributionModels::distributionModel::check() const")
+        FatalErrorInFunction
             << type() << "distribution: Minimum value must be greater than "
             << "zero." << nl << "Supplied minValue = " << minValue()
             << abort(FatalError);
@@ -51,7 +51,7 @@ void Foam::distributionModels::distributionModel::check() const
 
     if (maxValue() < minValue())
     {
-        FatalErrorIn("distributionModels::distributionModel::check() const")
+        FatalErrorInFunction
             << type() << "distribution: Maximum value is smaller than the "
             << "minimum value:" << nl << "    maxValue = " << maxValue()
             << ", minValue = " << minValue()
diff --git a/src/lagrangian/distributionModels/distributionModel/distributionModelNew.C b/src/lagrangian/distributionModels/distributionModel/distributionModelNew.C
index 81e82107129..fabb796e0b6 100644
--- a/src/lagrangian/distributionModels/distributionModel/distributionModelNew.C
+++ b/src/lagrangian/distributionModels/distributionModel/distributionModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,14 +43,7 @@ Foam::distributionModels::distributionModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "distributionModels::distributionModel::New"
-            "("
-                "const dictionary&, "
-                "cachedRandom&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Unknown distribution model type " << modelType << nl << nl
             << "Valid distribution model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/distributionModels/normal/normal.C b/src/lagrangian/distributionModels/normal/normal.C
index c9e4cc0184d..a585ee59a1e 100644
--- a/src/lagrangian/distributionModels/normal/normal.C
+++ b/src/lagrangian/distributionModels/normal/normal.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,7 +55,7 @@ Foam::distributionModels::normal::normal
 {
     if (minValue_ < 0)
     {
-        FatalErrorIn("normal::normal(const dictionary&, Random&)")
+        FatalErrorInFunction
             << "Minimum value must be greater than zero. "
             << "Supplied minValue = " << minValue_
             << abort(FatalError);
@@ -63,7 +63,7 @@ Foam::distributionModels::normal::normal
 
     if (maxValue_ < minValue_)
     {
-        FatalErrorIn("normal::normal(const dictionary&, Random&)")
+        FatalErrorInFunction
             << "Maximum value is smaller than the minimum value:"
             << "    maxValue = " << maxValue_ << ", minValue = " << minValue_
             << abort(FatalError);
diff --git a/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationSchemeNew.C b/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationSchemeNew.C
index eda0cdc2206..1e8f9517411 100644
--- a/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationSchemeNew.C
+++ b/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationSchemeNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,10 +46,8 @@ Foam::IntegrationScheme<Type>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "IntegrationScheme::New(const dictionary&)"
-        )   << "Unknown integration scheme type "
+        FatalErrorInFunction
+            << "Unknown integration scheme type "
             << schemeName << nl << nl
             << "Valid integration scheme types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << nl
diff --git a/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C b/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C
index 3ad01176c08..f89ee163cf9 100644
--- a/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C
+++ b/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -97,18 +97,8 @@ Foam::CollidingCloud<CloudType>::CollidingCloud
 {
     if (this->solution().steadyState())
     {
-        FatalErrorIn
-        (
-            "Foam::CollidingCloud<CloudType>::CollidingCloud"
-            "("
-                "const word&, "
-                "const volScalarField&, "
-                "const volVectorField&, "
-                "const volScalarField&, "
-                "const dimensionedVector&, "
-                "bool"
-            ")"
-        )   << "Collision modelling not currently available for steady state "
+        FatalErrorInFunction
+            << "Collision modelling not currently available for steady state "
             << "calculations" << exit(FatalError);
     }
 
diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H
index ed0f74793f4..626d2070701 100644
--- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H
+++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -363,13 +363,7 @@ inline Foam::scalar Foam::KinematicCloud<CloudType>::penetration
 {
     if ((fraction < 0) || (fraction > 1))
     {
-        FatalErrorIn
-        (
-            "inline Foam::scalar Foam::KinematicCloud<CloudType>::penetration"
-            "("
-                "const scalar"
-            ") const"
-        )
+        FatalErrorInFunction
             << "fraction should be in the range 0 < fraction < 1"
             << exit(FatalError);
     }
diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C
index 8a0001f842a..d761e5f17a5 100644
--- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C
+++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -149,7 +149,7 @@ void Foam::cloudSolution::read()
             }
             else
             {
-                FatalErrorIn("void cloudSolution::read()")
+                FatalErrorInFunction
                     << "Invalid scheme " << scheme << ". Valid schemes are "
                     << "explicit and semiImplicit" << exit(FatalError);
             }
@@ -171,7 +171,7 @@ Foam::scalar Foam::cloudSolution::relaxCoeff(const word& fieldName) const
         }
     }
 
-    FatalErrorIn("scalar cloudSolution::relaxCoeff(const word&) const")
+    FatalErrorInFunction
         << "Field name " << fieldName << " not found in schemes"
         << abort(FatalError);
 
@@ -189,7 +189,7 @@ bool Foam::cloudSolution::semiImplicit(const word& fieldName) const
         }
     }
 
-    FatalErrorIn("bool cloudSolution::semiImplicit(const word&) const")
+    FatalErrorInFunction
         << "Field name " << fieldName << " not found in schemes"
         << abort(FatalError);
 
diff --git a/src/lagrangian/intermediate/clouds/Templates/MPPICCloud/MPPICCloud.C b/src/lagrangian/intermediate/clouds/Templates/MPPICCloud/MPPICCloud.C
index 8c7c2cbb556..db56ae68fcb 100644
--- a/src/lagrangian/intermediate/clouds/Templates/MPPICCloud/MPPICCloud.C
+++ b/src/lagrangian/intermediate/clouds/Templates/MPPICCloud/MPPICCloud.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -82,18 +82,8 @@ Foam::MPPICCloud<CloudType>::MPPICCloud
 {
     if (this->solution().steadyState())
     {
-        FatalErrorIn
-        (
-            "Foam::MPPICCloud<CloudType>::MPPICCloud"
-            "("
-                "const word&, "
-                "const volScalarField&, "
-                "const volVectorField&, "
-                "const volScalarField&, "
-                "const dimensionedVector&, "
-                "bool"
-            ")"
-        )   << "MPPIC modelling not available for steady state calculations"
+        FatalErrorInFunction
+            << "MPPIC modelling not available for steady state calculations"
             << exit(FatalError);
     }
 
diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C
index f99ac8bbbd0..fee005bb291 100644
--- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C
+++ b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,15 +63,8 @@ void Foam::ReactingCloud<CloudType>::checkSuppliedComposition
 {
     if (YSupplied.size() != Y.size())
     {
-        FatalErrorIn
-        (
-            "ReactingCloud<CloudType>::checkSuppliedComposition"
-            "("
-                "const scalarField&, "
-                "const scalarField&, "
-                "const word&"
-            ")"
-        )   << YName << " supplied, but size is not compatible with "
+        FatalErrorInFunction
+            << YName << " supplied, but size is not compatible with "
             << "parcel composition: " << nl << "    "
             << YName << "(" << YSupplied.size() << ") vs required composition "
             << YName << "(" << Y.size() << ")" << nl
diff --git a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H
index ea1b79f194a..ceab06a387a 100644
--- a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H
+++ b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -103,11 +103,8 @@ Foam::ThermoCloud<CloudType>::radAreaP()
 {
     if (!radiation_)
     {
-        FatalErrorIn
-        (
-            "inline Foam::DimensionedField<Foam::scalar, Foam::volMesh> "
-            "Foam::ThermoCloud<CloudType>::radAreaP()"
-        )   << "Radiation field requested, but radiation model not active"
+        FatalErrorInFunction
+            << "Radiation field requested, but radiation model not active"
             << abort(FatalError);
     }
 
@@ -121,11 +118,8 @@ Foam::ThermoCloud<CloudType>::radAreaP() const
 {
     if (!radiation_)
     {
-        FatalErrorIn
-        (
-            "inline Foam::DimensionedField<Foam::scalar, Foam::volMesh> "
-            "Foam::ThermoCloud<CloudType>::radAreaP()"
-        )   << "Radiation field requested, but radiation model not active"
+        FatalErrorInFunction
+            << "Radiation field requested, but radiation model not active"
             << abort(FatalError);
     }
 
@@ -139,11 +133,8 @@ Foam::ThermoCloud<CloudType>::radT4()
 {
     if (!radiation_)
     {
-        FatalErrorIn
-        (
-            "inline Foam::DimensionedField<Foam::scalar, Foam::volMesh> "
-            "Foam::ThermoCloud<CloudType>::radT4()"
-        )   << "Radiation field requested, but radiation model not active"
+        FatalErrorInFunction
+            << "Radiation field requested, but radiation model not active"
             << abort(FatalError);
     }
 
@@ -157,11 +148,8 @@ Foam::ThermoCloud<CloudType>::radT4() const
 {
     if (!radiation_)
     {
-        FatalErrorIn
-        (
-            "inline Foam::DimensionedField<Foam::scalar, Foam::volMesh> "
-            "Foam::ThermoCloud<CloudType>::radT4()"
-        )   << "Radiation field requested, but radiation model not active"
+        FatalErrorInFunction
+            << "Radiation field requested, but radiation model not active"
             << abort(FatalError);
     }
 
@@ -175,11 +163,8 @@ Foam::ThermoCloud<CloudType>::radAreaPT4()
 {
     if (!radiation_)
     {
-        FatalErrorIn
-        (
-            "inline Foam::DimensionedField<Foam::scalar, Foam::volMesh> "
-            "Foam::ThermoCloud<CloudType>::radAreaPT4()"
-        )   << "Radiation field requested, but radiation model not active"
+        FatalErrorInFunction
+            << "Radiation field requested, but radiation model not active"
             << abort(FatalError);
     }
 
@@ -193,11 +178,8 @@ Foam::ThermoCloud<CloudType>::radAreaPT4() const
 {
     if (!radiation_)
     {
-        FatalErrorIn
-        (
-            "inline Foam::DimensionedField<Foam::scalar, Foam::volMesh> "
-            "Foam::ThermoCloud<CloudType>::radAreaPT4()"
-        )   << "Radiation field requested, but radiation model not active"
+        FatalErrorInFunction
+            << "Radiation field requested, but radiation model not active"
             << abort(FatalError);
     }
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C
index 3063c87b116..e7471bbd684 100644
--- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C
@@ -101,10 +101,8 @@ bool Foam::CollidingParcel<ParcelType>::move
 
         default:
         {
-            FatalErrorIn
-            (
-                "CollidingParcel<ParcelType>::move(TrackData&, const scalar)"
-            )   << td.part() << " is an invalid part of the tracking method."
+            FatalErrorInFunction
+                << td.part() << " is an invalid part of the tracking method."
                 << abort(FatalError);
         }
     }
diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/CollisionRecordList.C b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/CollisionRecordList.C
index 451e6e225fc..d72a7fc49eb 100644
--- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/CollisionRecordList.C
+++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/CollisionRecordList.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -75,19 +75,7 @@ Foam::CollisionRecordList<PairType, WallType>::CollisionRecordList
      || pairData.size() != nPair
     )
     {
-        FatalErrorIn
-        (
-            "Foam::CollisionRecordList<PairType, WallType>::CollisionRecordList"
-            "("
-                "const labelField& pairAccessed,"
-                "const labelField& pairOrigProcOfOther,"
-                "const labelField& pairOrigIdOfOther,"
-                "const Field<PairType>& pairData,"
-                "const labelField& wallAccessed,"
-                "const vectorField& wallPRel,"
-                "const Field<WallType>& wallData"
-            ")"
-        )
+        FatalErrorInFunction
             << "Pair field size mismatch." << nl
             << pairAccessed << nl
             << pairOrigProcOfOther << nl
@@ -114,19 +102,7 @@ Foam::CollisionRecordList<PairType, WallType>::CollisionRecordList
 
     if (wallPRel.size() != nWall || wallData.size() != nWall)
     {
-        FatalErrorIn
-        (
-            "Foam::CollisionRecordList<PairType, WallType>::CollisionRecordList"
-            "("
-                "const labelField& pairAccessed,"
-                "const labelField& pairOrigProcOfOther,"
-                "const labelField& pairOrigIdOfOther,"
-                "const Field<PairType>& pairData,"
-                "const labelField& wallAccessed,"
-                "const vectorField& wallPRel,"
-                "const Field<WallType>& wallData"
-            ")"
-        )
+        FatalErrorInFunction
             << "Wall field size mismatch." << nl
             << wallAccessed << nl
             << wallPRel << nl
@@ -423,11 +399,7 @@ void Foam::CollisionRecordList<PairType, WallType>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::CollisionRecordList<PairType, WallType>::operator="
-            "(const Foam::CollisionRecordList<PairType, WallType>&)"
-        )
+        FatalErrorInFunction
             << "Attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/PairCollisionRecord/PairCollisionRecord.C b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/PairCollisionRecord/PairCollisionRecord.C
index d97da2b223c..572e5a41d01 100644
--- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/PairCollisionRecord/PairCollisionRecord.C
+++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/PairCollisionRecord/PairCollisionRecord.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -88,11 +88,7 @@ void Foam::PairCollisionRecord<Type>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::PairCollisionRecord<Type>::operator="
-            "(const Foam::PairCollisionRecord<Type>&)"
-        )
+        FatalErrorInFunction
             << "Attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecord.C b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecord.C
index 3037917b57c..3e4470eaf3f 100644
--- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecord.C
+++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecord.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -86,11 +86,7 @@ void Foam::WallCollisionRecord<Type>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::WallCollisionRecord<Type>::operator="
-            "(const Foam::WallCollisionRecord<Type>&)"
-        )
+        FatalErrorInFunction
             << "Attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecordI.H b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecordI.H
index 97ddffe6805..cc5031020c7 100644
--- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecordI.H
+++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecordI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,14 +47,7 @@ inline bool Foam::WallCollisionRecord<Type>::match
             << nl << "cosAcceptanceAngle " << cosAcceptanceAngle
             << endl;
 
-        FatalErrorIn
-        (
-            "inline bool Foam::WallCollisionRecord<Type>::match"
-            "("
-                "const vector& pRel,"
-                "scalar radius"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Problem with matching WallCollisionRecord." << nl
             << "The given radius, " << radius << ", is smaller than distance "
             << "to the relative position of the WallInteractionSite, "
diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C
index f34f4b2f282..b7a2d9cf7c8 100644
--- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,15 +53,8 @@ void Foam::KinematicParcel<ParcelType>::setCellValues
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::KinematicParcel<ParcelType>::setCellValues"
-                "("
-                    "TrackData&, "
-                    "const scalar, "
-                    "const label"
-                ")"
-            )   << "Limiting observed density in cell " << cellI << " to "
+            WarningInFunction
+                << "Limiting observed density in cell " << cellI << " to "
                 << td.cloud().constProps().rhoMin() <<  nl << endl;
         }
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H
index 6bcd5c52b94..ee14895298b 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -157,11 +157,8 @@ hRetentionCoeff() const
 
     if ((value < 0) || (value > 1))
     {
-        FatalErrorIn
-        (
-            "ReactingMultiphaseParcel<ParcelType>::constantProperties::"
-            "constantProperties"
-        )   << "hRetentionCoeff must be in the range 0 to 1" << nl
+        FatalErrorInFunction
+            << "hRetentionCoeff must be in the range 0 to 1" << nl
             << exit(FatalError) << endl;
     }
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
index efbee0018e6..0a34b431085 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
@@ -221,15 +221,8 @@ void Foam::ReactingParcel<ParcelType>::setCellValues
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::ReactingParcel<ParcelType>::setCellValues"
-                "("
-                    "TrackData&, "
-                    "const scalar, "
-                    "const label"
-                ")"
-            )   << "Limiting observed pressure in cell " << cellI << " to "
+            WarningInFunction
+                << "Limiting observed pressure in cell " << cellI << " to "
                 << td.cloud().constProps().pMin() <<  nl << endl;
         }
 
@@ -289,16 +282,8 @@ void Foam::ReactingParcel<ParcelType>::cellValueSourceCorrection
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::ReactingParcel<ParcelType>::"
-                "cellValueSourceCorrection"
-                "("
-                    "TrackData&, "
-                    "const scalar, "
-                    "const label"
-                ")"
-            )   << "Limiting observed temperature in cell " << cellI << " to "
+            WarningInFunction
+                << "Limiting observed temperature in cell " << cellI << " to "
                 << td.cloud().constProps().TMin() <<  nl << endl;
         }
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C
index 4198420d38d..cbbf563fa4a 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C
@@ -51,15 +51,8 @@ void Foam::ThermoParcel<ParcelType>::setCellValues
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::ThermoParcel<ParcelType>::setCellValues"
-                "("
-                    "TrackData&, "
-                    "const scalar, "
-                    "const label"
-                ")"
-            )   << "Limiting observed temperature in cell " << cellI << " to "
+            WarningInFunction
+                << "Limiting observed temperature in cell " << cellI << " to "
                 << td.cloud().constProps().TMin() <<  nl << endl;
         }
 
@@ -86,15 +79,8 @@ void Foam::ThermoParcel<ParcelType>::cellValueSourceCorrection
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::ThermoParcel<ParcelType>::cellValueSourceCorrection"
-                "("
-                    "TrackData&, "
-                    "const scalar, "
-                    "const label"
-                ")"
-            )   << "Limiting observed temperature in cell " << cellI << " to "
+            WarningInFunction
+                << "Limiting observed temperature in cell " << cellI << " to "
                 << td.cloud().constProps().TMin() <<  nl << endl;
         }
 
@@ -124,20 +110,8 @@ void Foam::ThermoParcel<ParcelType>::calcSurfaceValues
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::ThermoParcel<ParcelType>::calcSurfaceValues"
-                "("
-                    "TrackData&, "
-                    "const label, "
-                    "const scalar, "
-                    "scalar&, "
-                    "scalar&, "
-                    "scalar&, "
-                    "scalar&, "
-                    "scalar&"
-                ") const"
-            )   << "Limiting parcel surface temperature to "
+            WarningInFunction
+                << "Limiting parcel surface temperature to "
                 << td.cloud().constProps().TMin() <<  nl << endl;
         }
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelTrackingDataI.H b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelTrackingDataI.H
index 5b0c42ed87b..22d7ccf85a3 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelTrackingDataI.H
+++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelTrackingDataI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -127,12 +127,8 @@ Foam::ThermoParcel<ParcelType>::TrackingData<CloudType>::GInterp() const
 {
     if (!GInterp_.valid())
     {
-        FatalErrorIn
-        (
-            "inline const Foam::interpolation<Foam::scalar>&"
-            "Foam::ThermoParcel<ParcelType>::TrackingData<CloudType>::"
-            "GInterp() const"
-        )   << "Radiation G interpolation object not set"
+        FatalErrorInFunction
+            << "Radiation G interpolation object not set"
             << abort(FatalError);
     }
 
diff --git a/src/lagrangian/intermediate/phaseProperties/phaseProperties/phaseProperties.C b/src/lagrangian/intermediate/phaseProperties/phaseProperties/phaseProperties.C
index 691815e2cd3..3041ab5c541 100644
--- a/src/lagrangian/intermediate/phaseProperties/phaseProperties/phaseProperties.C
+++ b/src/lagrangian/intermediate/phaseProperties/phaseProperties/phaseProperties.C
@@ -90,10 +90,8 @@ void Foam::phaseProperties::reorder(const wordList& specieNames)
 
         if (!found)
         {
-            FatalErrorIn
-            (
-                "void phaseProperties::reorder(const wordList&)"
-            )   << "Could not find specie " << names0[i]
+            FatalErrorInFunction
+                << "Could not find specie " << names0[i]
                 << " in list " <<  names_
                 << " for phase " << phaseTypeNames[phase_]
                 << exit(FatalError);
@@ -121,11 +119,8 @@ void Foam::phaseProperties::setCarrierIds
         }
         if (carrierIds_[i] == -1)
         {
-            FatalErrorIn
-            (
-                "void phaseProperties::setCarrierIds"
-                "(const wordList& carrierNames)"
-            )   << "Could not find carrier specie " << names_[i]
+            FatalErrorInFunction
+                << "Could not find carrier specie " << names_[i]
                 << " in species list" <<  nl
                 << "Available species are: " << nl << carrierNames << nl
                 << exit(FatalError);
@@ -144,10 +139,8 @@ void Foam::phaseProperties::checkTotalMassFraction() const
 
     if (Y_.size() != 0 && mag(total - 1.0) > SMALL)
     {
-        FatalErrorIn
-        (
-            "void phaseProperties::checkTotalMassFraction() const"
-        )   << "Specie fractions must total to unity for phase "
+        FatalErrorInFunction
+            << "Specie fractions must total to unity for phase "
             << phaseTypeNames[phase_] << nl
             << "Species: " << nl << names_ << nl
             << exit(FatalError);
@@ -177,10 +170,8 @@ Foam::word Foam::phaseProperties::phaseToStateLabel(const phaseType pt) const
         }
         default:
         {
-            FatalErrorIn
-            (
-                "phaseProperties::phaseToStateLabel(phaseType pt)"
-            )   << "Invalid phase: " << phaseTypeNames[pt] << nl
+            FatalErrorInFunction
+                << "Invalid phase: " << phaseTypeNames[pt] << nl
                 << "    phase must be gas, liquid or solid" << nl
                 << exit(FatalError);
         }
@@ -258,15 +249,8 @@ void Foam::phaseProperties::reorder
         }
         default:
         {
-            FatalErrorIn
-            (
-                "phaseProperties::reorder"
-                "("
-                    "const wordList& gasNames, "
-                    "const wordList& liquidNames, "
-                    "const wordList& solidNames"
-                ")"
-            )   << "Invalid phase: " << phaseTypeNames[phase_] << nl
+            FatalErrorInFunction
+                << "Invalid phase: " << phaseTypeNames[phase_] << nl
                 << "    phase must be gas, liquid or solid" << nl
                 << exit(FatalError);
         }
@@ -302,10 +286,8 @@ const Foam::word& Foam::phaseProperties::name(const label speciei) const
 {
     if (speciei >= names_.size())
     {
-        FatalErrorIn
-        (
-            "const word& phaseProperties::name(const label) const"
-        )   << "Requested specie " << speciei << "out of range" << nl
+        FatalErrorInFunction
+            << "Requested specie " << speciei << "out of range" << nl
             << "Available phase species:" << nl << names_ << nl
             << exit(FatalError);
     }
@@ -324,10 +306,8 @@ Foam::scalar& Foam::phaseProperties::Y(const label speciei)
 {
     if (speciei >= Y_.size())
     {
-        FatalErrorIn
-        (
-            "const scalar& phaseProperties::Y(const label) const"
-        )   << "Requested specie " << speciei << "out of range" << nl
+        FatalErrorInFunction
+            << "Requested specie " << speciei << "out of range" << nl
             << "Available phase species:" << nl << names_ << nl
             << exit(FatalError);
     }
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObjectNew.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObjectNew.C
index f105d6b3cb2..dd9b77145e2 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObjectNew.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObjectNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,16 +45,8 @@ Foam::CloudFunctionObject<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "CloudFunctionObject<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&, "
-                "const word&, "
-                "const word&"
-            ")"
-        )   << "Unknown cloud function type "
+        FatalErrorInFunction
+            << "Unknown cloud function type "
             << objectType << nl << nl
             << "Valid cloud function types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
index bf347c9f303..10cb1d3c544 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -119,11 +119,7 @@ void Foam::ParticleCollector<CloudType>::initPolygons
         label np = polygons[polyI].size();
         if (np < 3)
         {
-            FatalIOErrorIn
-            (
-                "Foam::ParticleCollector<CloudType>::initPolygons()",
-                this->coeffDict()
-            )
+            FatalIOErrorInFunction(this->coeffDict())
                 << "polygons must consist of at least 3 points"
                 << exit(FatalIOError);
         }
@@ -584,16 +580,7 @@ Foam::ParticleCollector<CloudType>::ParticleCollector
     }
     else
     {
-        FatalIOErrorIn
-        (
-            "Foam::ParticleCollector<CloudType>::ParticleCollector"
-            "("
-                "const dictionary&,"
-                "CloudType&, "
-                "const word&"
-            ")",
-            this->coeffDict()
-        )
+        FatalIOErrorInFunction(this->coeffDict())
             << "Unknown mode " << mode << ".  Available options are "
             << "polygon, polygonWithNormal and concentricCircle"
             << exit(FatalIOError);
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleErosion/ParticleErosion.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleErosion/ParticleErosion.C
index f4fd96bb171..d4d90fbf6ef 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleErosion/ParticleErosion.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleErosion/ParticleErosion.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,7 +54,7 @@ void Foam::ParticleErosion<CloudType>::write()
     }
     else
     {
-        FatalErrorIn("void Foam::ParticleErosion<CloudType>::write()")
+        FatalErrorInFunction
             << "QPtr not valid" << abort(FatalError);
     }
 }
@@ -87,14 +87,8 @@ Foam::ParticleErosion<CloudType>::ParticleErosion
 
         if (patchIDs.empty())
         {
-            WarningIn
-            (
-                "Foam::ParticleErosion<CloudType>::ParticleErosion"
-                "("
-                    "const dictionary&, "
-                    "CloudType& "
-                ")"
-            )   << "Cannot find any patch names matching " << patchName[i]
+            WarningInFunction
+                << "Cannot find any patch names matching " << patchName[i]
                 << endl;
         }
 
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleTracks/ParticleTracks.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleTracks/ParticleTracks.C
index 856ace872ac..b1057c92bce 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleTracks/ParticleTracks.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleTracks/ParticleTracks.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -125,14 +125,8 @@ void Foam::ParticleTracks<CloudType>::postFace
     {
         if (!cloudPtr_.valid())
         {
-            FatalErrorIn
-            (
-                "Foam::ParticleTracks<CloudType>::postFace"
-                "("
-                    "const parcelType&, "
-                    "const label"
-                ")"
-            )<< "Cloud storage not allocated" << abort(FatalError);
+            FatalErrorInFunction
+             << "Cloud storage not allocated" << abort(FatalError);
         }
 
         hitTableType::iterator iter =
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchPostProcessing/PatchPostProcessing.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchPostProcessing/PatchPostProcessing.C
index dc60b4206e3..d037b32b61d 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchPostProcessing/PatchPostProcessing.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchPostProcessing/PatchPostProcessing.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -144,14 +144,8 @@ Foam::PatchPostProcessing<CloudType>::PatchPostProcessing
 
         if (patchIDs.empty())
         {
-            WarningIn
-            (
-                "Foam::PatchPostProcessing<CloudType>::PatchPostProcessing"
-                "("
-                    "const dictionary&, "
-                    "CloudType& "
-                ")"
-            )   << "Cannot find any patch names matching " << patchName[i]
+            WarningInFunction
+                << "Cannot find any patch names matching " << patchName[i]
                 << endl;
         }
 
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/VoidFraction/VoidFraction.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/VoidFraction/VoidFraction.C
index 7314d531bad..d8ea47cd74b 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/VoidFraction/VoidFraction.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/VoidFraction/VoidFraction.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,7 +36,7 @@ void Foam::VoidFraction<CloudType>::write()
     }
     else
     {
-        FatalErrorIn("void Foam::VoidFraction<CloudType>::write()")
+        FatalErrorInFunction
             << "thetaPtr not valid" << abort(FatalError);
     }
 }
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModelNew.C
index 03a1b80595b..5c0d407586f 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::CollisionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "CollisionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown collision model type " << modelType
+        FatalErrorInFunction
+            << "Unknown collision model type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid collision model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairModel/PairModel/PairModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairModel/PairModel/PairModelNew.C
index 612c0983d48..f06dcbd813e 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairModel/PairModel/PairModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairModel/PairModel/PairModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::PairModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "PairModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown pair model type "
+        FatalErrorInFunction
+            << "Unknown pair model type "
             << PairModelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid pair model types are:" << nl
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/WallModel/WallModel/WallModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/WallModel/WallModel/WallModelNew.C
index 65ab04f35d2..f53ffd0094b 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/WallModel/WallModel/WallModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/WallModel/WallModel/WallModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::WallModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "WallModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown wall model type type " << WallModelType
+        FatalErrorInFunction
+            << "Unknown wall model type type " << WallModelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid wall model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModelNew.C
index 68aa221a1bc..7a3ddd98109 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::DispersionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "DispersionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown dispersion model type "
+        FatalErrorInFunction
+            << "Unknown dispersion model type "
             << modelType << nl << nl
             << "Valid dispersion model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C
index cb2084c6589..083b0b6cb93 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -226,7 +226,7 @@ void Foam::CellZoneInjection<CloudType>::updateMesh()
 
     if (zoneI < 0)
     {
-        FatalErrorIn("Foam::CellZoneInjection<CloudType>::updateMesh()")
+        FatalErrorInFunction
             << "Unknown cell zone name: " << cellZoneName_
             << ". Valid cell zones are: " << mesh.cellZones().names()
             << nl << exit(FatalError);
@@ -242,7 +242,7 @@ void Foam::CellZoneInjection<CloudType>::updateMesh()
 
     if ((nCellsTotal == 0) || (VCellsTotal*numberDensity_ < 1))
     {
-        WarningIn("Foam::CellZoneInjection<CloudType>::updateMesh()")
+        WarningInFunction
             << "Number of particles to be added to cellZone " << cellZoneName_
             << " is zero" << endl;
     }
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C
index 97c3c819a03..58538988d91 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,7 +56,7 @@ void Foam::ConeNozzleInjection<CloudType>::setInjectionMethod()
     }
     else
     {
-        FatalErrorIn("Foam::InjectionModel<CloudType>::setInjectionMethod()")
+        FatalErrorInFunction
             << "injectionMethod must be either 'point' or 'disc'"
             << exit(FatalError);
     }
@@ -84,7 +84,7 @@ void Foam::ConeNozzleInjection<CloudType>::setFlowType()
     }
     else
     {
-        FatalErrorIn("Foam::InjectionModel<CloudType>::setFlowType()")
+        FatalErrorInFunction
             << "flowType must be either 'constantVelocity', "
             <<"'pressureDrivenVelocity' or 'flowRateAndDischarge'"
             << exit(FatalError);
@@ -162,15 +162,8 @@ Foam::ConeNozzleInjection<CloudType>::ConeNozzleInjection
 {
     if (innerDiameter_ >= outerDiameter_)
     {
-        FatalErrorIn
-        (
-            "Foam::ConeNozzleInjection<CloudType>::ConeNozzleInjection"
-            "("
-                "const dictionary&, "
-                "CloudType&, "
-                "const word&"
-            ")"
-        )<< "innerNozzleDiameter >= outerNozzleDiameter" << nl
+        FatalErrorInFunction
+         << "innerNozzleDiameter >= outerNozzleDiameter" << nl
          << exit(FatalError);
     }
 
@@ -361,19 +354,8 @@ void Foam::ConeNozzleInjection<CloudType>::setPositionAndCell
         }
         default:
         {
-            FatalErrorIn
-            (
-                "void Foam::ConeNozzleInjection<CloudType>::setPositionAndCell"
-                "("
-                    "const label, "
-                    "const label, "
-                    "const scalar, "
-                    "vector&, "
-                    "label&, "
-                    "label&, "
-                    "label&"
-                ")"
-            )<< "Unknown injectionMethod type" << nl
+            FatalErrorInFunction
+             << "Unknown injectionMethod type" << nl
              << exit(FatalError);
         }
     }
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C
index 31b746625d3..8b80a42b9e9 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -236,15 +236,7 @@ Foam::label Foam::InflationInjection<CloudType>::parcelsToInject
     {
         if (iterationNo > maxIterations)
         {
-            WarningIn
-            (
-                "Foam::label "
-                "Foam::InflationInjection<CloudType>::parcelsToInject"
-                "("
-                    "const scalar, "
-                    "const scalar"
-                ")"
-            )
+            WarningInFunction
                 << "Maximum particle split iterations ("
                 << maxIterations << ") exceeded" << endl;
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
index 5be9e15ebfd..18a3c22a99f 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
@@ -158,17 +158,8 @@ bool Foam::InjectionModel<CloudType>::findCellAtPosition
     {
         if (errorOnNotFound)
         {
-            FatalErrorIn
-            (
-                "Foam::InjectionModel<CloudType>::findCellAtPosition"
-                "("
-                    "label&, "
-                    "label&, "
-                    "label&, "
-                    "vector&, "
-                    "bool"
-                ")"
-            )   << "Cannot find parcel injection cell. "
+            FatalErrorInFunction
+                << "Cannot find parcel injection cell. "
                 << "Parcel position = " << p0 << nl
                 << abort(FatalError);
         }
@@ -215,17 +206,8 @@ Foam::scalar Foam::InjectionModel<CloudType>::setNumberOfParticles
         default:
         {
             nP = 0.0;
-            FatalErrorIn
-            (
-                "Foam::scalar "
-                "Foam::InjectionModel<CloudType>::setNumberOfParticles"
-                "("
-                    "const label, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar"
-                ")"
-            )<< "Unknown parcelBasis type" << nl
+            FatalErrorInFunction
+             << "Unknown parcelBasis type" << nl
              << exit(FatalError);
         }
     }
@@ -355,15 +337,8 @@ Foam::InjectionModel<CloudType>::InjectionModel
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::InjectionModel<CloudType>::InjectionModel"
-            "("
-                "const dictionary&, "
-                "CloudType&, "
-                "const word&"
-            ")"
-        )<< "parcelBasisType must be either 'number', 'mass' or 'fixed'" << nl
+        FatalErrorInFunction
+         << "parcelBasisType must be either 'number', 'mass' or 'fixed'" << nl
          << exit(FatalError);
     }
 }
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModelNew.C
index c268f7a96de..e9a8af2f082 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::InjectionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "InjectionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown injection model type "
+        FatalErrorInFunction
+            << "Unknown injection model type "
             << modelType << nl << nl
             << "Valid injection model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError);
@@ -78,16 +72,8 @@ Foam::InjectionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "InjectionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "const word&, "
-                "const word&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown injection model type "
+        FatalErrorInFunction
+            << "Unknown injection model type "
             << modelType << nl << nl
             << "Valid injection model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.C
index eef73729c9e..0d070691f01 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.C
@@ -49,14 +49,8 @@ Foam::patchInjectionBase::patchInjectionBase
 {
     if (patchId_ < 0)
     {
-        FatalErrorIn
-        (
-            "patchInjectionBase::patchInjectionBase"
-            "("
-                "const polyMesh& mesh, "
-                "const word& patchName"
-            ")"
-        )   << "Requested patch " << patchName_ << " not found" << nl
+        FatalErrorInFunction
+            << "Requested patch " << patchName_ << " not found" << nl
             << "Available patches are: " << mesh.boundaryMesh().names() << nl
             << exit(FatalError);
     }
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Drag/NonSphereDrag/NonSphereDragForce.C b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Drag/NonSphereDrag/NonSphereDragForce.C
index acf63677a10..489079f524e 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Drag/NonSphereDrag/NonSphereDragForce.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Drag/NonSphereDrag/NonSphereDragForce.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,14 +53,8 @@ Foam::NonSphereDragForce<CloudType>::NonSphereDragForce
 {
     if (phi_ <= 0 || phi_ > 1)
     {
-        FatalErrorIn
-        (
-            "NonSphereDrag<CloudType>::NonSphereDrag"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Ratio of surface of sphere having same volume as particle to "
+        FatalErrorInFunction
+            << "Ratio of surface of sphere having same volume as particle to "
             << "actual surface area of particle (phi) must be greater than 0 "
             << "and less than or equal to 1" << exit(FatalError);
     }
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Lift/LiftForce/LiftForceI.H b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Lift/LiftForce/LiftForceI.H
index 00c3c7813a5..6c4aeab5968 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Lift/LiftForce/LiftForceI.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Lift/LiftForce/LiftForceI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,11 +31,8 @@ Foam::LiftForce<CloudType>::curlUcInterp() const
 {
     if (!curlUcInterpPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "inline const Foam::interpolation<Foam::vector>&"
-            "Foam::LiftForce<CloudType>::curlUcInterp() const"
-        )   << "Carrier phase curlUc interpolation object not set"
+        FatalErrorInFunction
+            << "Carrier phase curlUc interpolation object not set"
             << abort(FatalError);
     }
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.C b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.C
index 7adbb47ebde..a5a07d7baa9 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,16 +43,8 @@ Foam::ParticleForce<CloudType>::ParticleForce
 {
     if (readCoeffs && (coeffs_.dictName() != forceType))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "Foam::ParticleForce<CloudType>::ParticleForce"
-            "("
-                "CloudType&, "
-                "const fvMesh&, "
-                "const dictionary&, "
-                "const word&, "
-                "const bool"
-            ")",
             dict
         )   << "Force " << forceType << " must be specified as a dictionary"
             << exit(FatalIOError);
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForceNew.C b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForceNew.C
index 38c4bdc5848..7e378756584 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForceNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForceNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,15 +44,8 @@ Foam::ParticleForce<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "ParticleForce<CloudType>::New"
-            "("
-                "CloudType&, "
-                "const fvMesh&, "
-                "const dictionary&"
-            ")"
-        )   << "Unknown particle force type "
+        FatalErrorInFunction
+            << "Unknown particle force type "
             << forceType
             << ", constructor not in hash table" << nl << nl
             << "    Valid particle force types are:" << nl
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/PressureGradient/PressureGradientForceI.H b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/PressureGradient/PressureGradientForceI.H
index dc58dde52ae..c9813d8ee02 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/PressureGradient/PressureGradientForceI.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/PressureGradient/PressureGradientForceI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,11 +31,8 @@ Foam::PressureGradientForce<CloudType>::DUcDtInterp() const
 {
     if (!DUcDtInterpPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "inline const Foam::interpolation<Foam::vector>&"
-            "Foam::PressureGradientForce<CloudType>::DUcDtInterp() const"
-        )   << "Carrier phase DUcDt interpolation object not set"
+        FatalErrorInFunction
+            << "Carrier phase DUcDt interpolation object not set"
             << abort(FatalError);
     }
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C
index 77a6debde79..441812b5432 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,7 +70,7 @@ Foam::LocalInteraction<CloudType>::LocalInteraction
         if (it == PatchInteractionModel<CloudType>::itOther)
         {
             const word& patchName = patchData_[patchI].patchName();
-            FatalErrorIn("LocalInteraction(const dictionary&, CloudType&)")
+            FatalErrorInFunction
                 << "Unknown patch interaction type "
                 << interactionTypeName << " for patch " << patchName
                 << ". Valid selections are:"
@@ -255,17 +255,8 @@ bool Foam::LocalInteraction<CloudType>::correct
             }
             default:
             {
-                FatalErrorIn
-                (
-                    "bool LocalInteraction<CloudType>::correct"
-                    "("
-                        "typename CloudType::parcelType&, "
-                        "const polyPatch&, "
-                        "bool&, "
-                        "const scalar, "
-                        "const tetIndices&"
-                    ") const"
-                )   << "Unknown interaction type "
+                FatalErrorInFunction
+                    << "Unknown interaction type "
                     << patchData_[patchI].interactionTypeName()
                     << "(" << it << ") for patch "
                     << patchData_[patchI].patchName()
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionDataList.C b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionDataList.C
index 3564eacf933..30aa85357f8 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionDataList.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionDataList.C
@@ -56,14 +56,8 @@ Foam::patchInteractionDataList::patchInteractionDataList
 
         if (patchIDs.empty())
         {
-            WarningIn
-            (
-                "Foam::patchInteractionDataList::patchInteractionDataList"
-                "("
-                    "const polyMesh&, "
-                    "const dictionary&"
-                ")"
-            )   << "Cannot find any patch names matching " << patchName
+            WarningInFunction
+                << "Cannot find any patch names matching " << patchName
                 << endl;
         }
 
@@ -88,14 +82,8 @@ Foam::patchInteractionDataList::patchInteractionDataList
 
     if (badPatches.size() > 0)
     {
-        FatalErrorIn
-        (
-            "Foam::patchInteractionDataList::patchInteractionDataList"
-            "("
-                "const polyMesh&, "
-                "const dictionary&"
-            ")"
-        )   << "All patches must be specified when employing local patch "
+        FatalErrorInFunction
+            << "All patches must be specified when employing local patch "
             << "interaction. Please specify data for patches:" << nl
             << badPatches << nl << exit(FatalError);
     }
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModelNew.C
index eaa89563f3d..82c1ada60c9 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::PatchInteractionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "PatchInteractionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown patch interaction model type "
+        FatalErrorInFunction
+            << "Unknown patch interaction model type "
             << modelType << nl << nl
             << "Valid patch interaction model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/StandardWallInteraction/StandardWallInteraction.C b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/StandardWallInteraction/StandardWallInteraction.C
index fa86f67ca9f..3b19a02acc3 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/StandardWallInteraction/StandardWallInteraction.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/StandardWallInteraction/StandardWallInteraction.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,14 +52,8 @@ Foam::StandardWallInteraction<CloudType>::StandardWallInteraction
         {
             const word interactionTypeName(this->coeffDict().lookup("type"));
 
-            FatalErrorIn
-            (
-                "StandardWallInteraction<CloudType>::StandardWallInteraction"
-                "("
-                    "const dictionary&, "
-                    "CloudType&"
-                ")"
-            )   << "Unknown interaction result type "
+            FatalErrorInFunction
+                << "Unknown interaction result type "
                 << interactionTypeName
                 << ". Valid selections are:" << this->interactionTypeNames_
                 << endl << exit(FatalError);
@@ -170,17 +164,8 @@ bool Foam::StandardWallInteraction<CloudType>::correct
             }
             default:
             {
-                FatalErrorIn
-                (
-                    "bool StandardWallInteraction<CloudType>::correct"
-                    "("
-                        "typename CloudType::parcelType&, "
-                        "const polyPatch&, "
-                        "bool& keepParticle, "
-                        "const scalar, "
-                        "const tetIndices&"
-                    ") const"
-                )   << "Unknown interaction type "
+                FatalErrorInFunction
+                    << "Unknown interaction type "
                     << this->interactionTypeToWord(interactionType_)
                     << "(" << interactionType_ << ")" << endl
                     << abort(FatalError);
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModelNew.C
index 5c2a4b80f09..8faa120fe2a 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::StochasticCollisionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "StochasticCollisionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown model type type "
+        FatalErrorInFunction
+            << "Unknown model type type "
             << modelType << ", constructor not in hash table" << nl << nl
             << "    Valid model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModelNew.C
index b2e7d479667..492a1e1f37f 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::SurfaceFilmModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "SurfaceFilmModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown surface film model type "
+        FatalErrorInFunction
+            << "Unknown surface film model type "
             << modelType << nl << nl
             << "Valid surface film model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/AveragingMethod/AveragingMethod.C b/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/AveragingMethod/AveragingMethod.C
index cc29f5810b6..7ef6edb34d0 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/AveragingMethod/AveragingMethod.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/AveragingMethod/AveragingMethod.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -87,15 +87,8 @@ Foam::AveragingMethod<Type>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "Foam::AveragingMethod<Type>::New"
-            "("
-                "const IOobject&, "
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )   << "Unknown averaging method " << averageType
+        FatalErrorInFunction
+            << "Unknown averaging method " << averageType
             << ", constructor not in hash table" << nl << nl
             << "    Valid averaging methods are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/CorrectionLimitingMethods/CorrectionLimitingMethod/CorrectionLimitingMethod.C b/src/lagrangian/intermediate/submodels/MPPIC/CorrectionLimitingMethods/CorrectionLimitingMethod/CorrectionLimitingMethod.C
index 3c6b0ca885d..a7ac4c36383 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/CorrectionLimitingMethods/CorrectionLimitingMethod/CorrectionLimitingMethod.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/CorrectionLimitingMethods/CorrectionLimitingMethod/CorrectionLimitingMethod.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -65,13 +65,8 @@ Foam::CorrectionLimitingMethod::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "CorrectionLimitingMethod::New"
-            "("
-                "const dictionary&"
-            ")"
-        )   << "Unknown correction limiter type " << modelType
+        FatalErrorInFunction
+            << "Unknown correction limiter type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid correction limiter types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/DampingModel/DampingModel.C b/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/DampingModel/DampingModel.C
index c91831966e8..4c765da9c43 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/DampingModel/DampingModel.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/DampingModel/DampingModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -89,14 +89,8 @@ Foam::DampingModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "DampingModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown damping model type " << modelType
+        FatalErrorInFunction
+            << "Unknown damping model type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid damping model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/IsotropyModel/IsotropyModel.C b/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/IsotropyModel/IsotropyModel.C
index da454553cfc..eb52e2e5c5b 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/IsotropyModel/IsotropyModel.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/IsotropyModel/IsotropyModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -93,14 +93,8 @@ Foam::IsotropyModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "IsotropyModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown isotropy model type " << modelType
+        FatalErrorInFunction
+            << "Unknown isotropy model type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid isotropy model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/PackingModel/PackingModel.C b/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/PackingModel/PackingModel.C
index fd29b227691..bacf4d0bc9b 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/PackingModel/PackingModel.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/PackingModel/PackingModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -91,14 +91,8 @@ Foam::PackingModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "PackingModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown packing model type " << modelType
+        FatalErrorInFunction
+            << "Unknown packing model type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid packing model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/ParticleStressModel/ParticleStressModel.C b/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/ParticleStressModel/ParticleStressModel.C
index d95d42c4a1d..0f0c8d6556a 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/ParticleStressModel/ParticleStressModel.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/ParticleStressModel/ParticleStressModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -72,13 +72,8 @@ Foam::autoPtr<Foam::ParticleStressModel> Foam::ParticleStressModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "ParticleStressModel::New"
-            "("
-                "const dictionary&"
-            ")"
-        )   << "Unknown particle stress model type " << modelType
+        FatalErrorInFunction
+            << "Unknown particle stress model type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid particle stress model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/TimeScaleModels/TimeScaleModel/TimeScaleModel.C b/src/lagrangian/intermediate/submodels/MPPIC/TimeScaleModels/TimeScaleModel/TimeScaleModel.C
index bc4c7d5397e..c700a01efca 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/TimeScaleModels/TimeScaleModel/TimeScaleModel.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/TimeScaleModels/TimeScaleModel/TimeScaleModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -74,13 +74,8 @@ Foam::autoPtr<Foam::TimeScaleModel> Foam::TimeScaleModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "TimeScaleModel::New"
-            "("
-                "const dictionary&"
-            ")"
-        )   << "Unknown time scale model type " << modelType
+        FatalErrorInFunction
+            << "Unknown time scale model type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid time scale model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C
index 2b4e987a735..ee3f961e68e 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C
@@ -164,14 +164,8 @@ Foam::label Foam::CompositionModel<CloudType>::carrierId
 
     if (id < 0 && !allowNotFound)
     {
-        FatalErrorIn
-        (
-            "label CompositionModel<CloudType>::carrierId"
-            "("
-                "const word&, "
-                "const bool"
-            ") const"
-        )   << "Unable to determine global id for requested component "
+        FatalErrorInFunction
+            << "Unable to determine global id for requested component "
             << cmptName << ". Available components are " << nl
             << thermo_.carrier().species()
             << abort(FatalError);
@@ -193,15 +187,8 @@ Foam::label Foam::CompositionModel<CloudType>::localId
 
     if (id < 0 && !allowNotFound)
     {
-        FatalErrorIn
-        (
-            "label CompositionModel<CloudType>::localId"
-            "("
-                "const label, "
-                "const word&, "
-                "const bool"
-            ") const"
-        )   << "Unable to determine local id for component " << cmptName
+        FatalErrorInFunction
+            << "Unable to determine local id for component " << cmptName
             << abort(FatalError);
     }
 
@@ -221,16 +208,8 @@ Foam::label Foam::CompositionModel<CloudType>::localToCarrierId
 
     if (cid < 0 && !allowNotFound)
     {
-        FatalErrorIn
-        (
-            "label "
-            "CompositionModel<CloudType>::localToCarrierId"
-            "("
-                "const label, "
-                "const label, "
-                "const bool"
-            ") const"
-        )   << "Unable to determine global carrier id for phase "
+        FatalErrorInFunction
+            << "Unable to determine global carrier id for phase "
             << phasei << " with local id " << id
             << abort(FatalError);
     }
@@ -282,14 +261,8 @@ Foam::scalarField Foam::CompositionModel<CloudType>::X
         }
         default:
         {
-            FatalErrorIn
-            (
-                "scalarField CompositionModel<CloudType>::X"
-                "("
-                    "const label, "
-                    "const scalarField&"
-                ") const"
-            )   << "Only possible to convert gas and liquid mass fractions"
+            FatalErrorInFunction
+                << "Only possible to convert gas and liquid mass fractions"
                 << abort(FatalError);
         }
     }
@@ -345,16 +318,8 @@ Foam::scalar Foam::CompositionModel<CloudType>::H
         }
         default:
         {
-            FatalErrorIn
-            (
-                "scalar CompositionModel<CloudType>::H"
-                "("
-                "    const label, "
-                "    const scalarField&, "
-                "    const scalar, "
-                "    const scalar"
-                ") const"
-            )   << "Unknown phase enumeration" << abort(FatalError);
+            FatalErrorInFunction
+                << "Unknown phase enumeration" << abort(FatalError);
         }
     }
 
@@ -407,16 +372,8 @@ Foam::scalar Foam::CompositionModel<CloudType>::Hs
         }
         default:
         {
-            FatalErrorIn
-            (
-                "scalar CompositionModel<CloudType>::Hs"
-                "("
-                "    const label, "
-                "    const scalarField&, "
-                "    const scalar, "
-                "    const scalar"
-                ") const"
-            )   << "Unknown phase enumeration"
+            FatalErrorInFunction
+                << "Unknown phase enumeration"
                 << abort(FatalError);
         }
     }
@@ -466,16 +423,8 @@ Foam::scalar Foam::CompositionModel<CloudType>::Hc
         }
         default:
         {
-            FatalErrorIn
-            (
-                "scalar CompositionModel<CloudType>::Hc"
-                "("
-                "    const label, "
-                "    const scalarField&, "
-                "    const scalar, "
-                "    const scalar"
-                ") const"
-            )   << "Unknown phase enumeration"
+            FatalErrorInFunction
+                << "Unknown phase enumeration"
                 << abort(FatalError);
         }
     }
@@ -524,16 +473,8 @@ Foam::scalar Foam::CompositionModel<CloudType>::Cp
         }
         default:
         {
-            FatalErrorIn
-            (
-                "scalar CompositionModel<CloudType>::Cp"
-                "("
-                    "const label, "
-                    "const scalarField&, "
-                    "const scalar, "
-                    "const scalar"
-                ") const"
-            )   << "Unknown phase enumeration"
+            FatalErrorInFunction
+                << "Unknown phase enumeration"
                 << abort(FatalError);
         }
     }
@@ -559,16 +500,8 @@ Foam::scalar Foam::CompositionModel<CloudType>::L
         {
             if (debug)
             {
-                WarningIn
-                (
-                    "scalar CompositionModel<CloudType>::L"
-                    "("
-                        "const label, "
-                        "const scalarField&, "
-                        "const scalar, "
-                        "const scalar"
-                    ") const\n"
-                )   << "No support for gaseous components" << endl;
+                WarningInFunction
+                    << "No support for gaseous components" << endl;
             }
             break;
         }
@@ -584,31 +517,15 @@ Foam::scalar Foam::CompositionModel<CloudType>::L
         {
             if (debug)
             {
-                WarningIn
-                (
-                    "scalar CompositionModel<CloudType>::L"
-                    "("
-                        "const label, "
-                        "const scalarField&, "
-                        "const scalar, "
-                        "const scalar"
-                    ") const\n"
-                )   << "No support for solid components" << endl;
+                WarningInFunction
+                    << "No support for solid components" << endl;
             }
             break;
         }
         default:
         {
-            FatalErrorIn
-            (
-                "scalar CompositionModel<CloudType>::L"
-                "("
-                    "const label, "
-                    "const scalarField&, "
-                    "const scalar, "
-                    "const scalar"
-                ") const"
-            )   << "Unknown phase enumeration"
+            FatalErrorInFunction
+                << "Unknown phase enumeration"
                 << abort(FatalError);
         }
     }
diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModelNew.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModelNew.C
index ba09858376f..a21bcddea8c 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::CompositionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "CompositionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown composition model type "
+        FatalErrorInFunction
+            << "Unknown composition model type "
             << modelType << nl << nl
             << "Valid composition model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << nl
diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C
index 3209c04fa51..e86974da9c2 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C
@@ -51,30 +51,27 @@ void Foam::SingleMixtureFraction<CloudType>::constructIds()
             }
             default:
             {
-                FatalErrorIn
-                (
-                    "void Foam::SingleMixtureFraction<CloudType>::"
-                    "constructIds()"
-                )   << "Unknown phase enumeration" << nl << abort(FatalError);
+                FatalErrorInFunction
+                    << "Unknown phase enumeration" << nl << abort(FatalError);
             }
         }
     }
 
     if (idGas_ < 0)
     {
-        FatalErrorIn("Foam::SingleMixtureFraction<CloudType>::constructIds()")
+        FatalErrorInFunction
             << "No gas phase found in phase list:" << nl
             << this->phaseTypes() << exit(FatalError);
     }
     if (idLiquid_ < 0)
     {
-        FatalErrorIn("Foam::SingleMixtureFraction<CloudType>::constructIds()")
+        FatalErrorInFunction
             << "No liquid phase found in phase list:" << nl
             << this->phaseTypes() << exit(FatalError);
     }
     if (idSolid_ < 0)
     {
-        FatalErrorIn("Foam::SingleMixtureFraction<CloudType>::constructIds()")
+        FatalErrorInFunction
             << "No solid phase found in phase list:" << nl
             << this->phaseTypes() << exit(FatalError);
     }
@@ -102,15 +99,8 @@ Foam::SingleMixtureFraction<CloudType>::SingleMixtureFraction
 
     if (this->phaseProps().size() != 3)
     {
-        FatalErrorIn
-        (
-            "Foam::SingleMixtureFraction<CloudType>::"
-            "SingleMixtureFraction"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Incorrect numebr of phases: " << nl
+        FatalErrorInFunction
+            << "Incorrect numebr of phases: " << nl
             << "    Please specify 1 gas, 1 liquid and 1 solid"
             << exit(FatalError);
     }
@@ -121,15 +111,8 @@ Foam::SingleMixtureFraction<CloudType>::SingleMixtureFraction
 
     if (mag(sum(YMixture0_) - 1.0) > SMALL)
     {
-        FatalErrorIn
-        (
-            "Foam::SingleMixtureFraction<CloudType>::"
-            "SingleMixtureFraction"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Sum of phases should be 1. Phase fractions:" << nl
+        FatalErrorInFunction
+            << "Sum of phases should be 1. Phase fractions:" << nl
             << YMixture0_ << exit(FatalError);
     }
 }
diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.C
index 1fe61169cb8..5ed0917ccad 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.C
@@ -32,17 +32,13 @@ void Foam::SinglePhaseMixture<CloudType>::constructIds()
 {
     if (this->phaseProps().size() == 0)
     {
-        FatalErrorIn
-        (
-            "void Foam::SinglePhaseMixture<CloudType>::constructIds()"
-        )   << "Phase list is empty" << exit(FatalError);
+        FatalErrorInFunction
+            << "Phase list is empty" << exit(FatalError);
     }
     else if (this->phaseProps().size() > 1)
     {
-        FatalErrorIn
-        (
-            "void Foam::SinglePhaseMixture<CloudType>::constructIds()"
-        )   << "Only one phase permitted" << exit(FatalError);
+        FatalErrorInFunction
+            << "Only one phase permitted" << exit(FatalError);
     }
 
     switch (this->phaseProps()[0].phase())
@@ -64,10 +60,8 @@ void Foam::SinglePhaseMixture<CloudType>::constructIds()
         }
         default:
         {
-            FatalErrorIn
-            (
-                "void Foam::SinglePhaseMixture<CloudType>::constructIds()"
-            )   << "Unknown phase enumeration" << abort(FatalError);
+            FatalErrorInFunction
+                << "Unknown phase enumeration" << abort(FatalError);
         }
     }
 }
diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C
index 2ebb2bcb168..ad57ba6136e 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C
@@ -78,14 +78,8 @@ Foam::LiquidEvaporation<CloudType>::LiquidEvaporation
 {
     if (activeLiquids_.size() == 0)
     {
-        WarningIn
-        (
-            "Foam::LiquidEvaporation<CloudType>::LiquidEvaporation"
-            "("
-                "const dictionary& dict, "
-                "CloudType& owner"
-            ")"
-        )   << "Evaporation model selected, but no active liquids defined"
+        WarningInFunction
+            << "Evaporation model selected, but no active liquids defined"
             << nl << endl;
     }
     else
@@ -156,24 +150,8 @@ void Foam::LiquidEvaporation<CloudType>::calculate
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::LiquidEvaporation<CloudType>::calculate"
-                "("
-                    "const scalar, "
-                    "const label, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalarField&, "
-                    "scalarField&"
-                ") const"
-            )   << "Parcel reached critical conditions: "
+            WarningInFunction
+                << "Parcel reached critical conditions: "
                 << "evaporating all avaliable mass" << endl;
         }
 
@@ -259,16 +237,8 @@ Foam::scalar Foam::LiquidEvaporation<CloudType>::dh
         }
         default:
         {
-            FatalErrorIn
-            (
-                "Foam::scalar Foam::LiquidEvaporation<CloudType>::dh"
-                "("
-                    "const label, "
-                    "const label, "
-                    "const scalar, "
-                    "const scalar"
-                ") const"
-            )   << "Unknown enthalpyTransfer type" << abort(FatalError);
+            FatalErrorInFunction
+                << "Unknown enthalpyTransfer type" << abort(FatalError);
         }
     }
 
diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C
index b51614bc484..42e04e1c2c1 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C
@@ -78,14 +78,8 @@ Foam::LiquidEvaporationBoil<CloudType>::LiquidEvaporationBoil
 {
     if (activeLiquids_.size() == 0)
     {
-        WarningIn
-        (
-            "Foam::LiquidEvaporationBoil<CloudType>::LiquidEvaporationBoil"
-            "("
-                "const dictionary& dict, "
-                "CloudType& owner"
-            ")"
-        )   << "Evaporation model selected, but no active liquids defined"
+        WarningInFunction
+            << "Evaporation model selected, but no active liquids defined"
             << nl << endl;
     }
     else
@@ -156,24 +150,8 @@ void Foam::LiquidEvaporationBoil<CloudType>::calculate
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::LiquidEvaporationBoil<CloudType>::calculate"
-                "("
-                    "const scalar, "
-                    "const label, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalarField&, "
-                    "scalarField&"
-                ") const"
-            )   << "Parcel reached critical conditions: "
+            WarningInFunction
+                << "Parcel reached critical conditions: "
                 << "evaporating all avaliable mass" << endl;
         }
 
@@ -355,16 +333,8 @@ Foam::scalar Foam::LiquidEvaporationBoil<CloudType>::dh
         }
         default:
         {
-            FatalErrorIn
-            (
-                "Foam::scalar Foam::LiquidEvaporationBoil<CloudType>::dh"
-                "("
-                    "const label, "
-                    "const label, "
-                    "const scalar, "
-                    "const scalar"
-                ") const"
-            )   << "Unknown enthalpyTransfer type" << abort(FatalError);
+            FatalErrorInFunction
+                << "Unknown enthalpyTransfer type" << abort(FatalError);
         }
     }
 
diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.C b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.C
index 7e2999ccfb2..c06b79bd51f 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.C
@@ -56,11 +56,8 @@ const
         }
     }
 
-    FatalErrorIn
-    (
-        "PhaseChangeModel<CloudType>::enthalpyTransferType"
-        "PhaseChangeModel<CloudType>::wordToEnthalpyTransfer(const word&) const"
-    )   << "Unknown enthalpyType " << etName << ". Valid selections are:" << nl
+    FatalErrorInFunction
+        << "Unknown enthalpyType " << etName << ". Valid selections are:" << nl
         << enthalpyTransferTypeNames << exit(FatalError);
 
     return enthalpyTransferType(0);
diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModelNew.C b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModelNew.C
index 503afe2ad8d..dcacd8e4b6d 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::PhaseChangeModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "PhaseChangeModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown phase change model type "
+        FatalErrorInFunction
+            << "Unknown phase change model type "
             << modelType << nl << nl
             << "Valid phase change model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C
index a98e959392d..9aeee431d02 100644
--- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C
+++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,15 +42,8 @@ Foam::ConstantRateDevolatilisation<CloudType>::ConstantRateDevolatilisation
 {
     if (volatileData_.empty())
     {
-        WarningIn
-        (
-            "Foam::ConstantRateDevolatilisation<CloudType>::"
-            "ConstantRateDevolatilisation"
-            "("
-                "const dictionary& dict, "
-                "CloudType& owner"
-            ")"
-        )   << "Devolatilisation model selected, but no volatiles defined"
+        WarningInFunction
+            << "Devolatilisation model selected, but no volatiles defined"
             << nl << endl;
     }
     else
diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModelNew.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModelNew.C
index f76905787bc..8e7970ac49f 100644
--- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModelNew.C
+++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::DevolatilisationModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "DevolatilisationModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown devolatilisation model type "
+        FatalErrorInFunction
+            << "Unknown devolatilisation model type "
             << modelType << nl << nl
             << "Valid devolatilisation model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C
index 935b357188d..a4a5b1c1849 100644
--- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C
+++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C
@@ -43,15 +43,8 @@ SingleKineticRateDevolatilisation
 {
     if (volatileData_.empty())
     {
-        WarningIn
-        (
-            "Foam::SingleKineticRateDevolatilisation<CloudType>::"
-            "SingleKineticRateDevolatilisation"
-            "("
-                "const dictionary& dict, "
-                "CloudType& owner"
-            ")"
-        )   << "Devolatilisation model selected, but no volatiles defined"
+        WarningInFunction
+            << "Devolatilisation model selected, but no volatiles defined"
             << nl << endl;
     }
     else
diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModelNew.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModelNew.C
index cbc4bc4d63f..935fd37e606 100644
--- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModelNew.C
+++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::SurfaceReactionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "SurfaceReactionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown surface reaction model type "
+        FatalErrorInFunction
+            << "Unknown surface reaction model type "
             << modelType << nl << nl
             << "Valid surface reaction model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModelNew.C b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModelNew.C
index 524fb70bec6..609a317e38e 100644
--- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::HeatTransferModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "HeatTransferModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown heat transfer model type "
+        FatalErrorInFunction
+            << "Unknown heat transfer model type "
             << modelType << nl << nl
             << "Valid heat transfer model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C b/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C
index 2d47253de91..7f752378866 100644
--- a/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C
+++ b/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,14 +56,8 @@ Foam::ThermoSurfaceFilm<CloudType>::interactionTypeEnum(const word& it) const
         }
     }
 
-    FatalErrorIn
-    (
-        "ThermoSurfaceFilm<CloudType>::interactionType "
-        "ThermoSurfaceFilm<CloudType>::interactionTypeEnum"
-        "("
-            "const word& it"
-        ") const"
-    )   << "Unknown interaction type " << it
+    FatalErrorInFunction
+        << "Unknown interaction type " << it
         << ". Valid interaction types include: " << interactionTypeNames_
         << abort(FatalError);
 
@@ -79,14 +73,8 @@ Foam::word Foam::ThermoSurfaceFilm<CloudType>::interactionTypeStr
 {
     if (it >= interactionTypeNames_.size())
     {
-        FatalErrorIn
-        (
-            "ThermoSurfaceFilm<CloudType>::interactionType "
-            "ThermoSurfaceFilm<CloudType>::interactionTypeStr"
-            "("
-                "const interactionType& it"
-            ") const"
-        )   << "Unknown interaction type enumeration" << abort(FatalError);
+        FatalErrorInFunction
+            << "Unknown interaction type enumeration" << abort(FatalError);
     }
 
     return interactionTypeNames_[it];
@@ -617,15 +605,8 @@ bool Foam::ThermoSurfaceFilm<CloudType>::transferParcel
             }
             default:
             {
-                FatalErrorIn
-                (
-                    "bool ThermoSurfaceFilm<CloudType>::transferParcel"
-                    "("
-                        "parcelType&, "
-                        "const polyPatch&, "
-                        "bool&"
-                    ")"
-                )   << "Unknown interaction type enumeration"
+                FatalErrorInFunction
+                    << "Unknown interaction type enumeration"
                     << abort(FatalError);
             }
         }
diff --git a/src/lagrangian/molecularDynamics/molecularMeasurements/bufferedAccumulator/bufferedAccumulator.C b/src/lagrangian/molecularDynamics/molecularMeasurements/bufferedAccumulator/bufferedAccumulator.C
index 2163688da9b..f04b7363a45 100644
--- a/src/lagrangian/molecularDynamics/molecularMeasurements/bufferedAccumulator/bufferedAccumulator.C
+++ b/src/lagrangian/molecularDynamics/molecularMeasurements/bufferedAccumulator/bufferedAccumulator.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -156,7 +156,7 @@ Foam::label Foam::bufferedAccumulator<Type>::addToBuffers
         {
             if (bufferToRefill != -1)
             {
-                FatalErrorIn("bufferedAccumulator<Type>::addToBuffers ")
+                FatalErrorInFunction
                     << "More than one bufferedAccumulator accumulation "
                     << "buffer filled at once, this is considered an error."
                     << abort(FatalError);
@@ -181,10 +181,8 @@ Foam::Field<Type> Foam::bufferedAccumulator<Type>::averaged() const
     }
     else
     {
-        WarningIn
-        (
-            "bufferedAccumulator<Type>::averagedbufferedAccumulator() const"
-        )   << "Averaged correlation function requested but averagesTaken = "
+        WarningInFunction
+            << "Averaged correlation function requested but averagesTaken = "
             << averagesTaken_
             << ". Returning empty field."
             << endl;
@@ -214,10 +212,8 @@ void Foam::bufferedAccumulator<Type>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "bufferedAccumulator<Type>::operator=(const bufferedAccumulator&)"
-        )   << "Attempted assignment to self"
+        FatalErrorInFunction
+            << "Attempted assignment to self"
             << abort(FatalError);
     }
 
diff --git a/src/lagrangian/molecularDynamics/molecularMeasurements/correlationFunction/correlationFunction.C b/src/lagrangian/molecularDynamics/molecularMeasurements/correlationFunction/correlationFunction.C
index 0928783a53d..54ac66d1fa1 100644
--- a/src/lagrangian/molecularDynamics/molecularMeasurements/correlationFunction/correlationFunction.C
+++ b/src/lagrangian/molecularDynamics/molecularMeasurements/correlationFunction/correlationFunction.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -134,7 +134,7 @@ void Foam::correlationFunction<Type>::calculateCorrelationFunction
 {
     if (measurandFieldSize() != currentValues.size())
     {
-        FatalErrorIn("correlationFunction<Type>::calculateCorrelationFunction")
+        FatalErrorInFunction
             << "Trying to supply a Field of length"
             << currentValues.size()
             << " to calculate the correlation function. "
@@ -186,7 +186,7 @@ void Foam::correlationFunction<Type>::calculateCorrelationFunction
 {
     if (measurandFieldSize() != 1)
     {
-        FatalErrorIn("correlationFunction<Type>::calculateCorrelationFunction")
+        FatalErrorInFunction
             << "Trying to supply a single value to calculate the correlation "
             << "function.  Expecting a Field of length "
             << measurandFieldSize()
diff --git a/src/lagrangian/molecularDynamics/molecularMeasurements/distribution/distribution.C b/src/lagrangian/molecularDynamics/molecularMeasurements/distribution/distribution.C
index ecae0dc4656..bc02f151a1f 100644
--- a/src/lagrangian/molecularDynamics/molecularMeasurements/distribution/distribution.C
+++ b/src/lagrangian/molecularDynamics/molecularMeasurements/distribution/distribution.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -91,7 +91,7 @@ Foam::label Foam::distribution::totalEntries() const
 
         if (sumOfEntries < 0)
         {
-            WarningIn("label distribution::totalEntries()")
+            WarningInFunction
                 << "Accumulated distribution values total has become negative: "
                 << "sumOfEntries = " << sumOfEntries
                 << ". This is most likely to be because too many samples "
@@ -228,7 +228,7 @@ void Foam::distribution::add(const scalar valueToAdd)
 
     if ((*this)[n] < 0)
     {
-        FatalErrorIn("distribution::add(const scalar valueToAdd)")
+        FatalErrorInFunction
             << "Accumulated distribution value has become negative: "
             << "bin = " << (0.5 + scalar(n)) * binWidth_
             << ", value = " << (*this)[n]
@@ -446,7 +446,7 @@ void Foam::distribution::operator=(const distribution& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn("distribution::operator=(const distribution&)")
+        FatalErrorInFunction
             << "Attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/src/lagrangian/molecularDynamics/molecule/mdTools/calculateTransportProperties.H b/src/lagrangian/molecularDynamics/molecule/mdTools/calculateTransportProperties.H
index 72af8f36579..f077bad9e1a 100644
--- a/src/lagrangian/molecularDynamics/molecule/mdTools/calculateTransportProperties.H
+++ b/src/lagrangian/molecularDynamics/molecule/mdTools/calculateTransportProperties.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -29,7 +29,7 @@ if (writeVacf)
 
     if (!vacf.writeAveraged(vacfFile))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Failed writing to "
             << vacfFile.name()
             << abort(FatalError);
@@ -45,7 +45,7 @@ if (writePacf)
 
     if (!pacf.writeAveraged(pacfFile))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Failed writing to "
             << pacfFile.name()
             << abort(FatalError);
@@ -65,7 +65,7 @@ if (writeHFacf)
 
     if (!hfacf.writeAveraged(hfacfFile))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Failed writing to "
             << hfacfFile.name()
             << abort(FatalError);
diff --git a/src/lagrangian/molecularDynamics/molecule/molecule/molecule.C b/src/lagrangian/molecularDynamics/molecule/molecule/molecule.C
index d45bcc9633b..75312848bd3 100644
--- a/src/lagrangian/molecularDynamics/molecule/molecule/molecule.C
+++ b/src/lagrangian/molecularDynamics/molecule/molecule/molecule.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -180,7 +180,7 @@ bool Foam::molecule::move(molecule::trackingData& td, const scalar trackTime)
     }
     else
     {
-        FatalErrorIn("molecule::move(trackingData&, const scalar)") << nl
+        FatalErrorInFunction
             << td.part() << " is an invalid part of the integration method."
             << abort(FatalError);
     }
diff --git a/src/lagrangian/molecularDynamics/molecule/molecule/moleculeI.H b/src/lagrangian/molecularDynamics/molecule/molecule/moleculeI.H
index 2b858980e1e..062395ba6b7 100644
--- a/src/lagrangian/molecularDynamics/molecule/molecule/moleculeI.H
+++ b/src/lagrangian/molecularDynamics/molecule/molecule/moleculeI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -151,7 +151,7 @@ inline Foam::molecule::constantProperties::constantProperties
 
         if (eigenValues(momOfInertia).x() < VSMALL)
         {
-            FatalErrorIn("molecule::constantProperties::constantProperties")
+            FatalErrorInFunction
                 << "An eigenvalue of the inertia tensor is zero, the molecule "
                 << dict.name() << " is not a valid 6DOF shape."
                 << nl << abort(FatalError);
@@ -264,7 +264,7 @@ inline void Foam::molecule::constantProperties::checkSiteListSizes() const
      || siteIds_.size() != siteCharges_.size()
     )
     {
-        FatalErrorIn("molecule::constantProperties::checkSiteListSizes")
+        FatalErrorInFunction
             << "Sizes of site id, charge and "
             << "referencePositions are not the same. "
             << nl << abort(FatalError);
@@ -378,7 +378,7 @@ inline bool Foam::molecule::constantProperties::pairPotentialSite
 
     if (s == -1)
     {
-        FatalErrorIn("moleculeI.H") << nl
+        FatalErrorInFunction
             << sId << " site not found."
             << nl << abort(FatalError);
     }
@@ -403,10 +403,8 @@ inline bool Foam::molecule::constantProperties::electrostaticSite
 
     if (s == -1)
     {
-        FatalErrorIn
-        (
-            "molecule::constantProperties::electrostaticSite(label)"
-        )   << sId << " site not found."
+        FatalErrorInFunction
+            << sId << " site not found."
             << nl << abort(FatalError);
     }
 
diff --git a/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C b/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C
index d0e0dfdd98f..3e48822f035 100644
--- a/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C
+++ b/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -78,7 +78,7 @@ void Foam::moleculeCloud::buildConstProps()
 
             if (siteIds[sI] == -1)
             {
-                FatalErrorIn("moleculeCloud::buildConstProps()")
+                FatalErrorInFunction
                     << siteId << " site not found."
                     << nl << abort(FatalError);
             }
@@ -485,7 +485,7 @@ void Foam::moleculeCloud::initialiseMolecules
 
     if (!cellZones.size())
     {
-        FatalErrorIn("void Foam::moleculeCloud::initialiseMolecules")
+        FatalErrorInFunction
             << "No cellZones found in the mesh."
             << abort(FatalError);
     }
@@ -525,7 +525,7 @@ void Foam::moleculeCloud::initialiseMolecules
 
                 if (latticeIds.size() != latticePositions.size())
                 {
-                    FatalErrorIn("Foam::moleculeCloud::initialiseMolecules")
+                    FatalErrorInFunction
                         << "latticeIds and latticePositions must be the same "
                         << " size." << nl
                         << abort(FatalError);
@@ -547,7 +547,7 @@ void Foam::moleculeCloud::initialiseMolecules
 
                     if (numberDensity < VSMALL)
                     {
-                        WarningIn("moleculeCloud::initialiseMolecules")
+                        WarningInFunction
                             << "numberDensity too small, not filling zone "
                             << zone.name() << endl;
 
@@ -580,7 +580,7 @@ void Foam::moleculeCloud::initialiseMolecules
 
                     if (massDensity < VSMALL)
                     {
-                        WarningIn("moleculeCloud::initialiseMolecules")
+                        WarningInFunction
                             << "massDensity too small, not filling zone "
                             << zone.name() << endl;
 
@@ -596,7 +596,7 @@ void Foam::moleculeCloud::initialiseMolecules
                 }
                 else
                 {
-                    FatalErrorIn("Foam::moleculeCloud::initialiseMolecules")
+                    FatalErrorInFunction
                         << "massDensity or numberDensity not specified " << nl
                         << abort(FatalError);
                 }
@@ -963,7 +963,7 @@ void Foam::moleculeCloud::initialiseMolecules
                      && !partOfLayerInBounds
                     )
                     {
-                        WarningIn("Foam::moleculeCloud::initialiseMolecules()")
+                        WarningInFunction
                             << "A whole layer of unit cells was placed "
                             << "outside the bounds of the mesh, but no "
                             << "molecules have been placed in zone '"
@@ -1011,7 +1011,7 @@ void Foam::moleculeCloud::createMolecule
 
     if (cell == -1)
     {
-        FatalErrorIn("Foam::moleculeCloud::createMolecule")
+        FatalErrorInFunction
             << "Position specified does not correspond to a mesh cell." << nl
             << abort(FatalError);
     }
diff --git a/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloudI.H b/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloudI.H
index 2cf2e52bb19..553606bd9f9 100644
--- a/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloudI.H
+++ b/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloudI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -207,7 +207,7 @@ inline bool Foam::moleculeCloud::evaluatePotentialLimit
 
                     if (rsIsJMag < SMALL)
                     {
-                        WarningIn("moleculeCloud::removeHighEnergyOverlaps()")
+                        WarningInFunction
                             << "Molecule site pair closer than "
                             << SMALL
                             << ": mag separation = " << rsIsJMag
@@ -256,7 +256,7 @@ inline bool Foam::moleculeCloud::evaluatePotentialLimit
 
                     if (rsIsJMag < SMALL)
                     {
-                        WarningIn("moleculeCloud::removeHighEnergyOverlaps()")
+                        WarningInFunction
                             << "Molecule site pair closer than "
                             << SMALL
                             << ": mag separation = " << rsIsJMag
diff --git a/src/lagrangian/molecularDynamics/molecule/reducedUnits/reducedUnits.C b/src/lagrangian/molecularDynamics/molecule/reducedUnits/reducedUnits.C
index 61c768c9fe7..5ce30a1d605 100644
--- a/src/lagrangian/molecularDynamics/molecule/reducedUnits/reducedUnits.C
+++ b/src/lagrangian/molecularDynamics/molecule/reducedUnits/reducedUnits.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,7 +41,7 @@ void Foam::reducedUnits::calcRefValues()
      || refMass_ < VSMALL
     )
     {
-        FatalErrorIn("Foam::reducedUnits::calcRefValues() ")
+        FatalErrorInFunction
             << "One of more referencence values too small for floating point "
             << "calculation: "
             << "refTime_ = " << refTime_
@@ -152,10 +152,8 @@ void Foam::reducedUnits::operator=(const reducedUnits& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::reducedUnits::operator=(const Foam::reducedUnits&)"
-        )   << "Attempted assignment to self"
+        FatalErrorInFunction
+            << "Attempted assignment to self"
             << abort(FatalError);
     }
 }
diff --git a/src/lagrangian/molecularDynamics/potential/energyScalingFunction/basic/energyScalingFunctionNew.C b/src/lagrangian/molecularDynamics/potential/energyScalingFunction/basic/energyScalingFunctionNew.C
index dea6f7965e8..0ea36b20e04 100644
--- a/src/lagrangian/molecularDynamics/potential/energyScalingFunction/basic/energyScalingFunctionNew.C
+++ b/src/lagrangian/molecularDynamics/potential/energyScalingFunction/basic/energyScalingFunctionNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,10 +46,8 @@ Foam::autoPtr<Foam::energyScalingFunction> Foam::energyScalingFunction::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "energyScalingFunction::New()"
-        )   << "Unknown energyScalingFunction type "
+        FatalErrorInFunction
+            << "Unknown energyScalingFunction type "
             << scalingType << nl << nl
             << "Valid energyScalingFunctions are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotential.C b/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotential.C
index ce5ed42692e..0775247d7e8 100644
--- a/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotential.C
+++ b/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotential.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -100,7 +100,7 @@ Foam::scalar Foam::pairPotential::force(const scalar r) const
 
     if (k < 0)
     {
-        FatalErrorIn("pairPotential::force(const scalar) const")
+        FatalErrorInFunction
             << "r less than rMin in pair potential " << name_ << nl
             << abort(FatalError);
     }
@@ -137,7 +137,7 @@ Foam::scalar Foam::pairPotential::energy(const scalar r) const
 
     if (k < 0)
     {
-        FatalErrorIn("pairPotential::energy(const scalar) const")
+        FatalErrorInFunction
             << "r less than rMin in pair potential " << name_ << nl
             << abort(FatalError);
     }
diff --git a/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotentialNew.C b/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotentialNew.C
index 26f1cff6f85..ff3f9256822 100644
--- a/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotentialNew.C
+++ b/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotentialNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,10 +45,8 @@ Foam::autoPtr<Foam::pairPotential> Foam::pairPotential::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "pairPotential::New()"
-        )   << "Unknown pairPotential type "
+        FatalErrorInFunction
+            << "Unknown pairPotential type "
             << potentialType << nl << nl
             << "Valid pairPotentials are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialList.C b/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialList.C
index d423141a585..6a7da5a59ae 100644
--- a/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialList.C
+++ b/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialList.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,7 +58,7 @@ void Foam::pairPotentialList::readPairPotentialDict
                 }
                 else
                 {
-                    FatalErrorIn("pairPotentialList::buildPotentials") << nl
+                    FatalErrorInFunction
                         << "Pair pairPotential specification subDict "
                         << idA << "-" << idB << " not found"
                         << nl << abort(FatalError);
@@ -78,7 +78,7 @@ void Foam::pairPotentialList::readPairPotentialDict
 
                 else
                 {
-                    FatalErrorIn("pairPotentialList::buildPotentials") << nl
+                    FatalErrorInFunction
                         << "Pair pairPotential specification subDict "
                         << idA << "-" << idB << " or "
                         << idB << "-" << idA << " not found"
@@ -91,7 +91,7 @@ void Foam::pairPotentialList::readPairPotentialDict
                  && pairPotentialDict.found(idB+"-"+idA)
                 )
                 {
-                    FatalErrorIn("pairPotentialList::buildPotentials") << nl
+                    FatalErrorInFunction
                         << "Pair pairPotential specification subDict "
                         << idA << "-" << idB << " and "
                         << idB << "-" << idA << " found multiple definition"
@@ -126,7 +126,7 @@ void Foam::pairPotentialList::readPairPotentialDict
                     )
                 )
                 {
-                    FatalErrorIn("pairPotentialList::readPairPotentialDict")
+                    FatalErrorInFunction
                         << "Failed writing to "
                         << ppTabFile.name() << nl
                         << abort(FatalError);
@@ -137,7 +137,7 @@ void Foam::pairPotentialList::readPairPotentialDict
 
     if (!pairPotentialDict.found("electrostatic"))
     {
-        FatalErrorIn("pairPotentialList::buildPotentials") << nl
+        FatalErrorInFunction
             << "Pair pairPotential specification subDict electrostatic"
             << nl << abort(FatalError);
     }
@@ -159,7 +159,7 @@ void Foam::pairPotentialList::readPairPotentialDict
 
         if (!electrostaticPotential_->writeEnergyAndForceTables(ppTabFile))
         {
-            FatalErrorIn("pairPotentialList::readPairPotentialDict")
+            FatalErrorInFunction
                 << "Failed writing to "
                 << ppTabFile.name() << nl
                 << abort(FatalError);
diff --git a/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialListI.H b/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialListI.H
index 5dc7de1c316..04fb468871f 100644
--- a/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialListI.H
+++ b/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialListI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,7 +45,7 @@ inline Foam::label Foam::pairPotentialList::pairPotentialIndex
 
     if (index > size() - 1)
     {
-        FatalErrorIn("Foam::pairPotentialList::pairPotentialIndex ")
+        FatalErrorInFunction
             << "Attempting to access a pairPotential with too high an index."
             << nl << "a = " << a << ", b = " << b << ", index = " << index
             << nl << "max index = " << size() - 1
diff --git a/src/lagrangian/molecularDynamics/potential/potential/potential.C b/src/lagrangian/molecularDynamics/potential/potential/potential.C
index f14b0e58566..b33d39987c4 100644
--- a/src/lagrangian/molecularDynamics/potential/potential/potential.C
+++ b/src/lagrangian/molecularDynamics/potential/potential/potential.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ void Foam::potential::setSiteIdList(const dictionary& moleculePropertiesDict)
 
         if (!moleculePropertiesDict.found(id))
         {
-            FatalErrorIn("potential::setSiteIdList(const dictionary&)")
+            FatalErrorInFunction
                 << id << " molecule subDict not found"
                 << nl << abort(FatalError);
         }
@@ -65,7 +65,7 @@ void Foam::potential::setSiteIdList(const dictionary& moleculePropertiesDict)
 
             if (findIndex(siteIdNames, siteId) == -1)
             {
-                FatalErrorIn("potential::setSiteIdList(const dictionary&)")
+                FatalErrorInFunction
                     << siteId << " in pairPotentialSiteIds is not in siteIds: "
                     << siteIdNames << nl << abort(FatalError);
             }
@@ -173,7 +173,7 @@ void Foam::potential::potential::readPotentialDict()
 
             if (removalOrder_[rO] == -1)
             {
-                FatalErrorIn("potential::readPotentialDict()")
+                FatalErrorInFunction
                     << "removalOrder entry: " << remOrd[rO]
                     << " not found in idList."
                     << nl << abort(FatalError);
@@ -186,7 +186,7 @@ void Foam::potential::potential::readPotentialDict()
 
     if (!potentialDict.found("pair"))
     {
-        FatalErrorIn("potential::readPotentialDict()")
+        FatalErrorInFunction
             << "pair potential specification subDict not found"
             << abort(FatalError);
     }
@@ -207,7 +207,7 @@ void Foam::potential::potential::readPotentialDict()
     {
         if (!potentialDict.found("tether"))
         {
-            FatalErrorIn("potential::readPotentialDict()")
+            FatalErrorInFunction
                 << "tether potential specification subDict not found"
                 << abort(FatalError);
         }
@@ -282,14 +282,8 @@ void Foam::potential::potential::readMdInitialiseDict
 
             if (!moleculePropertiesDict.found(id))
             {
-                FatalErrorIn
-                (
-                    "potential::readMdInitialiseDict"
-                    "("
-                        "const IOdictionary&, "
-                        "IOdictionary&"
-                    ")"
-                )   << "Molecule type " << id
+                FatalErrorInFunction
+                    << "Molecule type " << id
                     << " not found in moleculeProperties dictionary." << nl
                     << abort(FatalError);
             }
@@ -337,14 +331,7 @@ void Foam::potential::potential::readMdInitialiseDict
             }
             else
             {
-                FatalErrorIn
-                (
-                    "potential::readMdInitialiseDict"
-                    "("
-                        "const IOdictionary&, "
-                        "IOdictionary&"
-                    ")"
-                )   << "Tether id  " << tetherSiteId
+                FatalErrorInFunction
                     << " not found as a site of any molecule in zone." << nl
                     << abort(FatalError);
             }
diff --git a/src/lagrangian/molecularDynamics/potential/tetherPotential/basic/tetherPotentialNew.C b/src/lagrangian/molecularDynamics/potential/tetherPotential/basic/tetherPotentialNew.C
index 7b6889b07d0..58da03728d8 100644
--- a/src/lagrangian/molecularDynamics/potential/tetherPotential/basic/tetherPotentialNew.C
+++ b/src/lagrangian/molecularDynamics/potential/tetherPotential/basic/tetherPotentialNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,10 +43,8 @@ Foam::autoPtr<Foam::tetherPotential> Foam::tetherPotential::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "tetherPotential::New()"
-        )   << "Unknown tetherPotential type "
+        FatalErrorInFunction
+            << "Unknown tetherPotential type "
             << potentialType << nl << nl
             << "Valid tetherPotentials are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialList.C b/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialList.C
index 341b950b515..8833d793041 100644
--- a/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialList.C
+++ b/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialList.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,7 +49,7 @@ void Foam::tetherPotentialList::readTetherPotentialDict
 
         if (tetherId == -1)
         {
-            FatalErrorIn("tetherPotentialList::readTetherPotentialDict")
+            FatalErrorInFunction
                 << nl
                 << "No matching entry found in siteIdList for tether name "
                 << tetherPotentialName
@@ -57,7 +57,7 @@ void Foam::tetherPotentialList::readTetherPotentialDict
         }
         else if (!tetherPotentialDict.found(tetherPotentialName))
         {
-            FatalErrorIn("tetherPotentialList::readTetherPotentialDict")
+            FatalErrorInFunction
                 << nl << "tether potential specification subDict "
                 << tetherPotentialName << " not found"
                 << abort(FatalError);
diff --git a/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialListI.H b/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialListI.H
index d89bbbe1f9e..9ab909f0114 100644
--- a/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialListI.H
+++ b/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialListI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,10 +34,7 @@ inline Foam::label Foam::tetherPotentialList::tetherPotentialIndex
 
     if (index == -1 || a >= idMap_.size())
     {
-        FatalErrorIn
-        (
-            "Foam::tetherPotentialList::tetherPotentialIndex(const label a)"
-        )
+        FatalErrorInFunction
         << "Attempting to access an undefined tetherPotential."
         << abort(FatalError);
 
diff --git a/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModelNew.C b/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModelNew.C
index 87595888562..3ef9a30928d 100644
--- a/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModelNew.C
+++ b/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::AtomizationModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "AtomizationModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown AtomizationModelType type "
+        FatalErrorInFunction
+            << "Unknown AtomizationModelType type "
             << AtomizationModelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid AtomizationModel types are:" << nl
diff --git a/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModelNew.C b/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModelNew.C
index caddbe4acb1..d60bfc051a6 100644
--- a/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModelNew.C
+++ b/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::BreakupModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "BreakupModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown BreakupModelType type "
+        FatalErrorInFunction
+            << "Unknown BreakupModelType type "
             << BreakupModelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid BreakupModel types are:" << nl
diff --git a/src/lagrangian/spray/submodels/BreakupModel/TAB/TAB.C b/src/lagrangian/spray/submodels/BreakupModel/TAB/TAB.C
index 92a92157ad3..4f3607b6e96 100644
--- a/src/lagrangian/spray/submodels/BreakupModel/TAB/TAB.C
+++ b/src/lagrangian/spray/submodels/BreakupModel/TAB/TAB.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -60,7 +60,7 @@ Foam::TAB<CloudType>::TAB
     else
     {
         SMDMethod_ = method2;
-        WarningIn("Foam::TAB<CloudType>::TAB(const dictionary&, CloudType&)")
+        WarningInFunction
             << "Unknown SMDCalculationMethod. Valid options are "
             << "(method1 | method2). Using method2" << endl;
     }
diff --git a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
index 63881bb1e6e..b86451b1458 100644
--- a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
+++ b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
@@ -49,11 +49,7 @@ Foam::DispersionRASModel<CloudType>::kModel() const
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::tmp<Foam::volScalarField>"
-            "Foam::DispersionRASModel<CloudType>::kModel() const"
-        )
+        FatalErrorInFunction
             << "Turbulence model not found in mesh database" << nl
             << "Database objects include: " << obr.sortedToc()
             << abort(FatalError);
@@ -83,11 +79,7 @@ Foam::DispersionRASModel<CloudType>::epsilonModel() const
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::tmp<Foam::volScalarField>"
-            "Foam::DispersionRASModel<CloudType>::epsilonModel() const"
-        )
+        FatalErrorInFunction
             << "Turbulence model not found in mesh database" << nl
             << "Database objects include: " << obr.sortedToc()
             << abort(FatalError);
diff --git a/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C b/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
index d33b3057a3e..563ab8c7360 100644
--- a/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
+++ b/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
@@ -71,11 +71,7 @@ Foam::BrownianMotionForce<CloudType>::kModel() const
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::tmp<Foam::volScalarField>"
-            "Foam::DispersionRASModel<CloudType>::kModel() const"
-        )
+        FatalErrorInFunction
             << "Turbulence model not found in mesh database" << nl
             << "Database objects include: " << obr.sortedToc()
             << abort(FatalError);
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C
index 4999a16d3ca..06ffb6c5253 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -743,7 +743,7 @@ void Foam::autoLayerDriver::setNumLayers
     {
         if (maxLayers[i] == labelMin || minLayers[i] == labelMax)
         {
-            FatalErrorIn("setNumLayers(..)")
+            FatalErrorInFunction
                 << "Patchpoint:" << i << " coord:" << pp.localPoints()[i]
                 << " maxLayers:" << maxLayers
                 << " minLayers:" << minLayers
@@ -1189,7 +1189,7 @@ void Foam::autoLayerDriver::calculateLayerThickness
          || max(layerParams.minThickness()) > 2
         )
         {
-            FatalErrorIn("calculateLayerThickness(..)")
+            FatalErrorInFunction
                 << "Thickness should be factor of local undistorted cell size."
                 << " Valid values are [0..2]." << nl
                 << " minThickness:" << layerParams.minThickness()
@@ -1654,7 +1654,7 @@ void Foam::autoLayerDriver::getVertexString
 
     if (fp == -1)
     {
-        FatalErrorIn("autoLayerDriver::getVertexString(..)")
+        FatalErrorInFunction
             << "problem." << abort(FatalError);
     }
 
@@ -1741,7 +1741,7 @@ Foam::label Foam::autoLayerDriver::truncateDisplacement
 
         if (mesh.isInternalFace(faceI))
         {
-            FatalErrorIn("truncateDisplacement(..)")
+            FatalErrorInFunction
                 << "Faceset " << illegalPatchFaces.name()
                 << " contains internal face " << faceI << nl
                 << "It should only contain patch faces" << abort(FatalError);
@@ -3630,7 +3630,7 @@ void Foam::autoLayerDriver::doLayers
             }
             else
             {
-                WarningIn("autoLayerDriver::doLayers(..)")
+                WarningInFunction
                     << "Ignoring layers on coupled patch " << pp.name()
                     << endl;
             }
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriverShrink.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriverShrink.C
index e8c3d38cd6c..f355d8cfed0 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriverShrink.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriverShrink.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -991,7 +991,7 @@ void Foam::autoLayerDriver::medialAxisSmoothingInfo
 
         if (nUnvisit > 0)
         {
-            WarningIn("autoLayerDriver::medialAxisSmoothingInfo(..)")
+            WarningInFunction
                 << "Walking did not visit all points." << nl
                 << "    Did not visit " << nUnvisit
                 << " out of " << mesh.globalData().nTotalPoints()
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C
index 41e6ca0dccc..7e4fd3a1af5 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -177,7 +177,7 @@ Foam::pointField Foam::autoSnapDriver::smoothPatchDisplacement
             }
             else
             {
-                FatalErrorIn("autoSnapDriver::smoothPatchDisplacement(..)")
+                FatalErrorInFunction
                     << "Both sides of baffle consisting of faces " << f0
                     << " and " << f1 << " are already slave faces."
                     << abort(FatalError);
@@ -825,11 +825,8 @@ Foam::labelList Foam::autoSnapDriver::getZoneSurfacePoints
 
     if (zoneI == -1)
     {
-        FatalErrorIn
-        (
-            "autoSnapDriver::getZoneSurfacePoints"
-            "(const fvMesh&, const indirectPrimitivePatch&, const word&)"
-        )   << "Cannot find zone " << zoneName
+        FatalErrorInFunction
+            << "Cannot find zone " << zoneName
             << exit(FatalError);
     }
 
@@ -1756,7 +1753,7 @@ Foam::vectorField Foam::autoSnapDriver::calcNearestSurface
         {
             if (snapSurf[pointI] == -1)
             {
-                WarningIn("autoSnapDriver::calcNearestSurface(..)")
+                WarningInFunction
                     << "For point:" << pointI
                     << " coordinate:" << localPoints[pointI]
                     << " did not find any surface within:"
@@ -2013,7 +2010,7 @@ Foam::vectorField Foam::autoSnapDriver::calcNearestSurface
 //    {
 //        if (snapSurf[pointI] == -1)
 //        {
-//            WarningIn("autoSnapDriver::calcNearestLocalSurface(..)")
+//            WarningInFunction
 //                << "For point:" << pointI
 //                << " coordinate:" << localPoints[pointI]
 //                << " did not find any surface within:"
@@ -3135,7 +3132,7 @@ void Foam::autoSnapDriver::doSnap
 
             if (!meshOk)
             {
-                WarningIn("autoSnapDriver::doSnap(..)")
+                WarningInFunction
                     << "Did not succesfully snap mesh."
                     << " Continuing to snap to resolve easy" << nl
                     << "    surfaces but the"
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C
index 6fc6363bb95..183b59a445e 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C
@@ -264,10 +264,8 @@ void Foam::autoSnapDriver::calcNearestFace
         label zoneI = mesh.faceZones().findZoneID(faceZoneName);
         if (zoneI == -1)
         {
-            FatalErrorIn
-            (
-                "autoSnapDriver::calcNearestFace(..)"
-            )   << "Problem. Cannot find zone " << faceZoneName
+            FatalErrorInFunction
+                << "Problem. Cannot find zone " << faceZoneName
                 << exit(FatalError);
         }
         const faceZone& fZone = mesh.faceZones()[zoneI];
@@ -332,10 +330,8 @@ void Foam::autoSnapDriver::calcNearestFace
             }
             else
             {
-                WarningIn
-                (
-                    "autoSnapDriver::calcNearestFace(..)"
-                )   << "Did not find surface near face centre " << fc[hitI]
+                WarningInFunction
+                    << "Did not find surface near face centre " << fc[hitI]
                     << endl;
             }
         }
@@ -398,10 +394,8 @@ void Foam::autoSnapDriver::calcNearestFace
         }
         else
         {
-            WarningIn
-            (
-                "autoSnapDriver::calcNearestFace(..)"
-            )   << "Did not find surface near face centre " << fc[hitI]
+            WarningInFunction
+                << "Did not find surface near face centre " << fc[hitI]
                 << endl;
         }
     }
@@ -2637,11 +2631,8 @@ void Foam::autoSnapDriver::reverseAttractMeshPoints
                 }
                 else
                 {
-                    WarningIn
-                    (
-                        "autoSnapDriver::featureAttractionUsingFeatureEdges"
-                        "(..)"
-                    )   << "Did not find pp point near " << featPt
+                    WarningInFunction
+                        << "Did not find pp point near " << featPt
                         << endl;
                 }
             }
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C
index be4272e37a5..ed9dde3a813 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -229,10 +229,8 @@ Foam::layerParameters::layerParameters
 
     if (layerSpec_ == ILLEGAL || nSpec != 2)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "layerParameters::layerParameters"
-            "(const dictionary&, const polyBoundaryMesh&)",
             dict
         )   << "Over- or underspecified layer thickness."
             << " Please specify" << nl
@@ -254,7 +252,7 @@ Foam::layerParameters::layerParameters
 
     if (nLayerIter_ < 0 || nRelaxedIter_ < 0)
     {
-        FatalIOErrorIn("layerParameters::layerParameters(..)", dict)
+        FatalIOErrorInFunction(dict)
             << "Layer iterations should be >= 0." << endl
             << "nLayerIter:" << nLayerIter_
             << " nRelaxedIter:" << nRelaxedIter_
@@ -276,7 +274,7 @@ Foam::layerParameters::layerParameters
 
             if (patchIDs.size() == 0)
             {
-                IOWarningIn("layerParameters::layerParameters(..)", layersDict)
+                IOWarningInFunction(layersDict)
                     << "Layer specification for " << key
                     << " does not match any patch." << endl
                     << "Valid patches are " << boundaryMesh.names() << endl;
@@ -360,9 +358,8 @@ Foam::layerParameters::layerParameters
                         break;
 
                         default:
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "layerParameters::layerParameters(..)",
                                 dict
                             )   << "problem." << exit(FatalIOError);
                         break;
@@ -434,8 +431,7 @@ Foam::scalar Foam::layerParameters::layerThickness
 
         default:
         {
-            FatalErrorIn("layerParameters::layerThickness(..)")
-                << "Illegal thickness specification " <<    layerSpec_
+            FatalErrorInFunction
                 << exit(FatalError);
             return -VGREAT;
         }
@@ -486,7 +482,7 @@ Foam::scalar Foam::layerParameters::layerExpansionRatio
 
         default:
         {
-            FatalErrorIn("layerParameters::layerThickness(..)")
+            FatalErrorInFunction
                 << "Illegal thickness specification" << exit(FatalError);
             return -VGREAT;
         }
@@ -545,7 +541,7 @@ Foam::scalar Foam::layerParameters::firstLayerThickness
 
         default:
         {
-            FatalErrorIn("layerParameters::layerThickness(..)")
+            FatalErrorInFunction
                 << "Illegal thickness specification" << exit(FatalError);
             return -VGREAT;
         }
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/refinementParameters/refinementParameters.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/refinementParameters/refinementParameters.C
index 0ed25cf81c7..b87015effac 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/refinementParameters/refinementParameters.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/refinementParameters/refinementParameters.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -100,10 +100,8 @@ const
 
         if (globalCellI == -1)
         {
-            FatalErrorIn
-            (
-                "refinementParameters::findCells(const polyMesh&) const"
-            )   << "Point " << keepPoint
+            FatalErrorInFunction
+                << "Point " << keepPoint
                 << " is not inside the mesh or on a face or edge." << nl
                 << "Bounding box of the mesh:" << mesh.bounds()
                 << exit(FatalError);
diff --git a/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/externalDisplacementMeshMover.C b/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/externalDisplacementMeshMover.C
index 2067b24cace..14916efc9c4 100644
--- a/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/externalDisplacementMeshMover.C
+++ b/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/externalDisplacementMeshMover.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -67,12 +67,8 @@ Foam::externalDisplacementMeshMover::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "externalDisplacementMeshMover::New(const word&"
-            ", pointVectorField&, const List<labelPair>&"
-            ", const dictionary&)"
-        )   << "Unknown externalDisplacementMeshMover type "
+        FatalErrorInFunction
+            << "Unknown externalDisplacementMeshMover type "
             << type << nl << nl
             << "Valid externalDisplacementMeshMover types:" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.C b/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.C
index df17b0ece4a..b699a825a76 100644
--- a/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.C
+++ b/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -507,11 +507,8 @@ void Foam::medialAxisMeshMover::update(const dictionary& coeffDict)
             }
             else
             {
-                WarningIn
-                (
-                    "medialAxisMeshMover::"
-                    "medialAxisSmoothingInfo(..)"
-                )   << "Walking did not visit all points." << nl
+                WarningInFunction
+                    << "Walking did not visit all points." << nl
                     << "    Did not visit " << nUnvisit
                     << " out of " << mesh().globalData().nTotalPoints()
                     << " points. This is not necessarily a problem" << nl
diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C
index 2fc70109dd2..ff2a971da76 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C
@@ -133,7 +133,7 @@ void Foam::meshRefinement::calcNeighbourData
 
     if (neiLevel.size() != nBoundaryFaces || neiCc.size() != nBoundaryFaces)
     {
-        FatalErrorIn("meshRefinement::calcNeighbour(..)") << "nBoundaries:"
+        FatalErrorInFunction
             << nBoundaryFaces << " neiLevel:" << neiLevel.size()
             << abort(FatalError);
     }
@@ -321,11 +321,8 @@ void Foam::meshRefinement::testSyncPointList
 {
     if (fld.size() != mesh.nPoints())
     {
-        FatalErrorIn
-        (
-            "meshRefinement::testSyncPointList(const polyMesh&"
-            ", const List<scalar>&)"
-        )   << msg << endl
+        FatalErrorInFunction
+            << msg << endl
             << "fld size:" << fld.size() << " mesh points:" << mesh.nPoints()
             << abort(FatalError);
     }
@@ -371,11 +368,8 @@ void Foam::meshRefinement::testSyncPointList
 {
     if (fld.size() != mesh.nPoints())
     {
-        FatalErrorIn
-        (
-            "meshRefinement::testSyncPointList(const polyMesh&"
-            ", const List<point>&)"
-        )   << msg << endl
+        FatalErrorInFunction
+            << msg << endl
             << "fld size:" << fld.size() << " mesh points:" << mesh.nPoints()
             << abort(FatalError);
     }
@@ -521,7 +515,7 @@ void Foam::meshRefinement::checkData()
             {
                 if (mesh_.isInternalFace(faceI))
                 {
-                    WarningIn("meshRefinement::checkData()")
+                    WarningInFunction
                         << "Internal face:" << faceI
                         << " fc:" << mesh_.faceCentres()[faceI]
                         << " cached surfaceIndex_:" << surfaceIndex_[faceI]
@@ -538,7 +532,7 @@ void Foam::meshRefinement::checkData()
                  != neiHit[faceI-mesh_.nInternalFaces()]
                 )
                 {
-                    WarningIn("meshRefinement::checkData()")
+                    WarningInFunction
                         << "Boundary face:" << faceI
                         << " fc:" << mesh_.faceCentres()[faceI]
                         << " cached surfaceIndex_:" << surfaceIndex_[faceI]
@@ -937,7 +931,7 @@ Pout<< "face:" << faceI << " verts:" << f
 //
 //    if (localPoints.size() != globalToLocalRegion.size())
 //    {
-//        FatalErrorIn("calcLocalRegions(..)")
+//        FatalErrorInFunction
 //            << "localPoints:" << localPoints.size()
 //            << " globalToLocalRegion:" << globalToLocalRegion.size()
 //            << exit(FatalError);
@@ -1153,7 +1147,7 @@ Pout<< "face:" << faceI << " verts:" << f
 //
 //                if (!someLocal)
 //                {
-//                    FatalErrorIn("calcRegionRegions(..)")
+//                    FatalErrorInFunction
 //                        << "Received from processor " << procI
 //                        << " connection " << e
 //                        << " where none of the elements is local to me."
@@ -1873,10 +1867,8 @@ void Foam::meshRefinement::checkCoupledFaceZones(const polyMesh& mesh)
             {
                 if (zoneNames[procI] != zoneNames[Pstream::myProcNo()])
                 {
-                    FatalErrorIn
-                    (
-                        "meshRefinement::checkCoupledFaceZones(const polyMesh&)"
-                    )   << "faceZones are not synchronised on processors." << nl
+                    FatalErrorInFunction
+                        << "faceZones are not synchronised on processors." << nl
                         << "Processor " << procI << " has faceZones "
                         << zoneNames[procI] << nl
                         << "Processor " << Pstream::myProcNo()
@@ -1908,20 +1900,16 @@ void Foam::meshRefinement::checkCoupledFaceZones(const polyMesh& mesh)
                 }
                 else if (faceToZone[bFaceI] == zoneI)
                 {
-                    FatalErrorIn
-                    (
-                        "meshRefinement::checkCoupledFaceZones(const polyMesh&)"
-                    )   << "Face " << fZone[i] << " in zone "
+                    FatalErrorInFunction
+                        << "Face " << fZone[i] << " in zone "
                         << fZone.name()
                         << " is twice in zone!"
                         << abort(FatalError);
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "meshRefinement::checkCoupledFaceZones(const polyMesh&)"
-                    )   << "Face " << fZone[i] << " in zone "
+                    FatalErrorInFunction
+                        << "Face " << fZone[i] << " in zone "
                         << fZone.name()
                         << " is also in zone "
                         << fZones[faceToZone[bFaceI]].name()
@@ -1938,10 +1926,8 @@ void Foam::meshRefinement::checkCoupledFaceZones(const polyMesh& mesh)
     {
         if (faceToZone[i] != neiFaceToZone[i])
         {
-            FatalErrorIn
-            (
-                "meshRefinement::checkCoupledFaceZones(const polyMesh&)"
-            )   << "Face " << mesh.nInternalFaces()+i
+            FatalErrorInFunction
+                << "Face " << mesh.nInternalFaces()+i
                 << " is in zone " << faceToZone[i]
                 << ", its coupled face is in zone " << neiFaceToZone[i]
                 << abort(FatalError);
@@ -2242,7 +2228,7 @@ Foam::labelList Foam::meshRefinement::meshedPatches() const
 
         if (patchI == -1)
         {
-            FatalErrorIn("meshRefinement::meshedPatches() const")
+            FatalErrorInFunction
                 << "Problem : did not find patch " << meshedPatches_[i]
                 << endl << "Valid patches are " << patches.names()
                 << abort(FatalError);
@@ -2341,10 +2327,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMeshRegions
 
     if (regionI == -1)
     {
-        FatalErrorIn
-        (
-            "meshRefinement::splitMeshRegions(const point&)"
-        )   << "Point " << keepPoint
+        FatalErrorInFunction
+            << "Point " << keepPoint
             << " is not inside the mesh." << nl
             << "Bounding box of the mesh:" << mesh_.bounds()
             << exit(FatalError);
@@ -2383,10 +2367,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMeshRegions
     label nExposedFaces = returnReduce(exposedFaces.size(), sumOp<label>());
     if (nExposedFaces)
     {
-        //FatalErrorIn
-        //(
-        //    "meshRefinement::splitMeshRegions(const point&)"
-        //)   << "Removing non-reachable cells should only expose"
+        //FatalErrorInFunction
+        //    << "Removing non-reachable cells should only expose"
         //    << " boundary faces" << nl
         //    << "ExposedFaces:" << exposedFaces << abort(FatalError);
 
@@ -2397,10 +2379,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMeshRegions
             defaultPatch = globalToMasterPatch[0];
         }
 
-        WarningIn
-        (
-            "meshRefinement::splitMeshRegions(const point&)"
-        )   << "Removing non-reachable cells exposes "
+        WarningInFunction
+            << "Removing non-reachable cells exposes "
             << nExposedFaces << " internal or coupled faces." << endl
             << "    These get put into patch " << defaultPatch << endl;
         exposedPatch.setSize(exposedFaces.size(), defaultPatch);
diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
index d9ec65959ca..3d0242153bf 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
@@ -95,11 +95,8 @@ Foam::label Foam::meshRefinement::createBaffle
     {
         if (neiPatch == -1)
         {
-            FatalErrorIn
-            (
-                "meshRefinement::createBaffle"
-                "(const label, const label, const label, polyTopoChange&)"
-            )   << "No neighbour patch for internal face " << faceI
+            FatalErrorInFunction
+                << "No neighbour patch for internal face " << faceI
                 << " fc:" << mesh_.faceCentres()[faceI]
                 << " ownPatch:" << ownPatch << abort(FatalError);
         }
@@ -305,7 +302,7 @@ void Foam::meshRefinement::getBafflePatches
 
             if (ownPatch[faceI] == -1 || neiPatch[faceI] == -1)
             {
-                FatalErrorIn("getBafflePatches(..)")
+                FatalErrorInFunction
                     << "problem." << abort(FatalError);
             }
         }
@@ -374,7 +371,7 @@ Foam::Map<Foam::labelPair> Foam::meshRefinement::getZoneBafflePatches
 
                     if (!bafflePatch.insert(faceI, patches))
                     {
-                        FatalErrorIn("getZoneBafflePatches(..)")
+                        FatalErrorInFunction
                             << "Face " << faceI
                             << " fc:" << mesh_.faceCentres()[faceI]
                             << " in zone " << fZone.name()
@@ -402,11 +399,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createBaffles
      || neiPatch.size() != mesh_.nFaces()
     )
     {
-        FatalErrorIn
-        (
-            "meshRefinement::createBaffles"
-            "(const labelList&, const labelList&)"
-        )   << "Illegal size :"
+        FatalErrorInFunction
+            << "Illegal size :"
             << " ownPatch:" << ownPatch.size()
             << " neiPatch:" << neiPatch.size()
             << ". Should be number of faces:" << mesh_.nFaces()
@@ -428,11 +422,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createBaffles
              || (neiPatch[faceI] == -1 && syncedNeiPatch[faceI] != -1)
             )
             {
-                FatalErrorIn
-                (
-                    "meshRefinement::createBaffles"
-                    "(const labelList&, const labelList&)"
-                )   << "Non synchronised at face:" << faceI
+                FatalErrorInFunction
+                    << "Non synchronised at face:" << faceI
                     << " on patch:" << mesh_.boundaryMesh().whichPatch(faceI)
                     << " fc:" << mesh_.faceCentres()[faceI] << endl
                     << "ownPatch:" << ownPatch[faceI]
@@ -551,7 +542,7 @@ void Foam::meshRefinement::checkZoneFaces() const
 
                 if (zoneI != -1)
                 {
-                    FatalErrorIn("meshRefinement::checkZoneFaces")
+                    FatalErrorInFunction
                         << "face:" << faceI << " on patch " << pp.name()
                         << " is in zone " << fZones[zoneI].name()
                         << exit(FatalError);
@@ -641,7 +632,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createZoneBaffles
 
             if (baffleI != faceToPatch.size())
             {
-                FatalErrorIn("meshRefinement::createZoneBaffles(..)")
+                FatalErrorInFunction
                     << "Had " << faceToPatch.size() << " patches to create "
                     << " but encountered " << baffleI
                     << " slave faces originating from patcheable faces."
@@ -1337,12 +1328,8 @@ void Foam::meshRefinement::findCellZoneInsideWalk
 
         if (keepRegionI == -1)
         {
-            FatalErrorIn
-            (
-                "meshRefinement::findCellZoneInsideWalk"
-                "(const labelList&, const labelList&"
-                ", const labelList&, const labelList&)"
-            )   << "Point " << insidePoint
+            FatalErrorInFunction
+                << "Point " << insidePoint
                 << " is not inside the mesh." << nl
                 << "Bounding box of the mesh:" << mesh_.bounds()
                 << exit(FatalError);
@@ -1359,12 +1346,8 @@ void Foam::meshRefinement::findCellZoneInsideWalk
                 }
                 else if (cellToZone[cellI] != surfaceToCellZone[surfI])
                 {
-                    WarningIn
-                    (
-                        "meshRefinement::findCellZoneInsideWalk"
-                        "(const labelList&, const labelList&"
-                        ", const labelList&, const labelList&)"
-                    )   << "Cell " << cellI
+                    WarningInFunction
+                        << "Cell " << cellI
                         << " at " << mesh_.cellCentres()[cellI]
                         << " is inside surface " << surfaces_.names()[surfI]
                         << " but already marked as being in zone "
@@ -1502,11 +1485,8 @@ void Foam::meshRefinement::findCellZoneTopo
 
     if (keepRegionI == -1)
     {
-        FatalErrorIn
-        (
-            "meshRefinement::findCellZoneTopo"
-            "(const point&, const labelList&, const labelList&, labelList&)"
-        )   << "Point " << keepPoint
+        FatalErrorInFunction
+            << "Point " << keepPoint
             << " is not inside the mesh." << nl
             << "Bounding box of the mesh:" << mesh_.bounds()
             << exit(FatalError);
@@ -1625,11 +1605,8 @@ void Foam::meshRefinement::findCellZoneTopo
 
         if (zoneI ==  -2)
         {
-            FatalErrorIn
-            (
-                "meshRefinement::findCellZoneTopo"
-                "(const point&, const labelList&, const labelList&, labelList&)"
-            )   << "For region " << regionI << " haven't set cell zone."
+            FatalErrorInFunction
+                << "For region " << regionI << " haven't set cell zone."
                 << exit(FatalError);
         }
     }
@@ -1674,7 +1651,7 @@ void Foam::meshRefinement::makeConsistentFaceIndex
         }
         else if (ownZone != neiZone && namedSurfaceIndex[faceI] == -1)
         {
-            FatalErrorIn("meshRefinement::zonify()")
+            FatalErrorInFunction
                 << "Different cell zones on either side of face " << faceI
                 << " at " << mesh_.faceCentres()[faceI]
                 << " but face not marked with a surface."
@@ -1722,7 +1699,7 @@ void Foam::meshRefinement::makeConsistentFaceIndex
                 }
                 else if (ownZone != neiZone && namedSurfaceIndex[faceI] == -1)
                 {
-                    FatalErrorIn("meshRefinement::zonify()")
+                    FatalErrorInFunction
                         << "Different cell zones on either side of face "
                         << faceI << " at " << mesh_.faceCentres()[faceI]
                         << " but face not marked with a surface."
@@ -2062,7 +2039,7 @@ Foam::label Foam::meshRefinement::markPatchZones
     {
         if (!allFaceInfo[faceI].valid(dummyTrackData))
         {
-            FatalErrorIn("meshRefinement::markPatchZones(..)")
+            FatalErrorInFunction
                 << "Problem: unvisited face " << faceI
                 << " at " << patch.faceCentres()[faceI]
                 << exit(FatalError);
@@ -2287,7 +2264,7 @@ void Foam::meshRefinement::consistentOrientation
                 }
                 else
                 {
-                    FatalErrorIn("meshRefinement::consistentOrientation(..)")
+                    FatalErrorInFunction
                         << "Incorrect status for face " << meshFaceI
                         << abort(FatalError);
                 }
@@ -2315,7 +2292,7 @@ void Foam::meshRefinement::consistentOrientation
         }
         else
         {
-            FatalErrorIn("meshRefinement::consistentOrientation(..)")
+            FatalErrorInFunction
                 << "Problem : unvisited face " << faceI
                 << " centre:" << mesh_.faceCentres()[meshFaceI]
                 << abort(FatalError);
@@ -2576,11 +2553,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMesh
 
     if (keepRegionI == -1)
     {
-        FatalErrorIn
-        (
-            "meshRefinement::splitMesh"
-            "(const label, const labelList&, const point&)"
-        )   << "Point " << keepPoint
+        FatalErrorInFunction
+            << "Point " << keepPoint
             << " is not inside the mesh." << nl
             << "Bounding box of the mesh:" << mesh_.bounds()
             << exit(FatalError);
@@ -2784,7 +2758,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMesh
         }
         else
         {
-            WarningIn("meshRefinement::splitMesh(..)")
+            WarningInFunction
                 << "For exposed face " << faceI
                 << " fc:" << mesh_.faceCentres()[faceI]
                 << " found no patch." << endl
diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementProblemCells.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementProblemCells.C
index 871c7f8a6c6..f1b8776f8a1 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementProblemCells.C
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementProblemCells.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -437,7 +437,7 @@ Foam::labelList Foam::meshRefinement::nearestPatch
             {
                 if (!haveWarned)
                 {
-                    WarningIn("meshRefinement::nearestPatch(..)")
+                    WarningInFunction
                         << "Did not visit some faces, e.g. face " << faceI
                         << " at " << mesh_.faceCentres()[faceI] << endl
                         << "Assigning  these cells to patch "
diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementTemplates.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementTemplates.C
index 2cbc1f697c7..1bdb191299c 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementTemplates.C
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,14 +63,8 @@ T Foam::meshRefinement::gAverage
 {
     if (values.size() != isMasterElem.size())
     {
-        FatalErrorIn
-        (
-            "meshRefinement::gAverage\n"
-            "(\n"
-            "    const PackedBoolList& isMasterElem,\n"
-            "    const UList<T>& values\n"
-            ")\n"
-        )   << "Number of elements in list " << values.size()
+        FatalErrorInFunction
+            << "Number of elements in list " << values.size()
             << " does not correspond to number of elements in isMasterElem "
             << isMasterElem.size()
             << exit(FatalError);
@@ -116,11 +110,8 @@ void Foam::meshRefinement::testSyncBoundaryFaceList
 
     if (faceData.size() != nBFaces || syncedFaceData.size() != nBFaces)
     {
-        FatalErrorIn
-        (
-            "meshRefinement::testSyncBoundaryFaceList"
-            "(const scalar, const string&, const List<T>&, const List<T>&)"
-        )   << "Boundary faces:" << nBFaces
+        FatalErrorInFunction
+            << "Boundary faces:" << nBFaces
             << " faceData:" << faceData.size()
             << " syncedFaceData:" << syncedFaceData.size()
             << abort(FatalError);
@@ -143,7 +134,7 @@ void Foam::meshRefinement::testSyncBoundaryFaceList
             {
                 label faceI = pp.start()+i;
 
-                FatalErrorIn("testSyncFaces")
+                FatalErrorInFunction
                     << msg
                     << "patchFace:" << i
                     << " face:" << faceI
@@ -303,7 +294,7 @@ void Foam::meshRefinement::weightedSum
      || meshPoints.size() != pointData.size()
     )
     {
-        FatalErrorIn("medialAxisMeshMover::weightedSum(..)")
+        FatalErrorInFunction
             << "Inconsistent sizes for edge or point data:"
             << " isMasterEdge:" << isMasterEdge.size()
             << " edgeWeights:" << edgeWeights.size()
diff --git a/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.C b/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.C
index 823c4fe17f5..1f4a43e28c2 100644
--- a/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.C
+++ b/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -91,11 +91,8 @@ void Foam::refinementFeatures::read
 
             if (fName.empty())
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "refinementFeatures::read"
-                    "(const objectRegistry&"
-                    ", const PtrList<dictionary>&)",
                     dict
                 )   << "Could not open " << featObj.objectPath()
                     << exit(FatalIOError);
@@ -192,12 +189,8 @@ void Foam::refinementFeatures::read
 
             if (dict.size() < 1)
             {
-                FatalErrorIn
-                (
-                    "refinementFeatures::read"
-                    "(const objectRegistry&"
-                    ", const PtrList<dictionary>&)"
-                )   << " : levels should be at least size 1" << endl
+                FatalErrorInFunction
+                    << " : levels should be at least size 1" << endl
                     << "levels : "  << dict["levels"]
                     << exit(FatalError);
             }
@@ -219,12 +212,8 @@ void Foam::refinementFeatures::read
                      || (levels_[featI][j] > levels_[featI][j-1])
                     )
                     {
-                        FatalErrorIn
-                        (
-                            "refinementFeatures::read"
-                            "(const objectRegistry&"
-                            ", const PtrList<dictionary>&)"
-                        )   << " : Refinement should be specified in order"
+                        FatalErrorInFunction
+                            << " : Refinement should be specified in order"
                             << " of increasing distance"
                             << " (and decreasing refinement level)." << endl
                             << "Distance:" << distances_[featI][j]
diff --git a/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C b/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C
index ea43fb6f888..92bfa75ae98 100644
--- a/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C
+++ b/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -114,10 +114,8 @@ Foam::refinementSurfaces::refinementSurfaces
              || globalLevelIncr[surfI] < 0
             )
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "refinementSurfaces::refinementSurfaces"
-                    "(const searchableSurfaces&, const dictionary>&",
                     dict
                 )   << "Illegal level specification for surface "
                     << names_[surfI]
@@ -176,10 +174,8 @@ Foam::refinementSurfaces::refinementSurfaces
                          || levelIncr < 0
                         )
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "refinementSurfaces::refinementSurfaces"
-                                "(const searchableSurfaces&, const dictionary&",
                                 dict
                             )   << "Illegal level specification for surface "
                                 << names_[surfI] << " region "
@@ -219,9 +215,8 @@ Foam::refinementSurfaces::refinementSurfaces
 
     if (unmatchedKeys.size() > 0)
     {
-        IOWarningIn
+        IOWarningInFunction
         (
-            "refinementSurfaces::refinementSurfaces(..)",
             surfacesDict
         )   << "Not all entries in refinementSurfaces dictionary were used."
             << " The following entries were not used : "
@@ -1299,7 +1294,7 @@ void Foam::refinementSurfaces::findInside
          && selectionMethod != surfaceZonesInfo::OUTSIDE
         )
         {
-            FatalErrorIn("refinementSurfaces::findInside(..)")
+            FatalErrorInFunction
                 << "Trying to use surface "
                 << surface.name()
                 << " which has non-geometric inside selection method "
diff --git a/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/surfaceZonesInfo.C b/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/surfaceZonesInfo.C
index 69c3f7777b9..cb247ede204 100644
--- a/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/surfaceZonesInfo.C
+++ b/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/surfaceZonesInfo.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -122,9 +122,8 @@ Foam::surfaceZonesInfo::surfaceZonesInfo
             && !surface.hasVolumeType()
             )
             {
-                IOWarningIn
+                IOWarningInFunction
                 (
-                    "surfaceZonesInfo::surfaceZonesInfo(..)",
                     surfacesDict
                 )   << "Illegal entry zoneInside "
                     << areaSelectionAlgoNames[zoneInside_]
@@ -135,9 +134,8 @@ Foam::surfaceZonesInfo::surfaceZonesInfo
         }
         else if (hasSide)
         {
-            IOWarningIn
+            IOWarningInFunction
             (
-                "surfaceZonesInfo::surfaceZonesInfo(..)",
                 surfacesDict
             )   << "Unused entry zoneInside for faceZone "
                 << faceZoneName_
@@ -393,11 +391,8 @@ Foam::labelList Foam::surfaceZonesInfo::addCellZonesToMesh
     {
         if (allCellZones[procI] != allCellZones[0])
         {
-            FatalErrorIn
-            (
-                "meshRefinement::zonify"
-                "(const label, const point&)"
-            )   << "Zones not synchronised among processors." << nl
+            FatalErrorInFunction
+                << "Zones not synchronised among processors." << nl
                 << " Processor0 has cellZones:" << allCellZones[0]
                 << " , processor" << procI
                 << " has cellZones:" << allCellZones[procI]
@@ -459,11 +454,8 @@ Foam::labelList Foam::surfaceZonesInfo::addFaceZonesToMesh
     {
         if (allFaceZones[procI] != allFaceZones[0])
         {
-            FatalErrorIn
-            (
-                "meshRefinement::zonify"
-                "(const label, const point&)"
-            )   << "Zones not synchronised among processors." << nl
+            FatalErrorInFunction
+                << "Zones not synchronised among processors." << nl
                 << " Processor0 has faceZones:" << allFaceZones[0]
                 << " , processor" << procI
                 << " has faceZones:" << allFaceZones[procI]
diff --git a/src/mesh/autoMesh/autoHexMesh/shellSurfaces/shellSurfaces.C b/src/mesh/autoMesh/autoHexMesh/shellSurfaces/shellSurfaces.C
index cd398025534..a92a2b01148 100644
--- a/src/mesh/autoMesh/autoHexMesh/shellSurfaces/shellSurfaces.C
+++ b/src/mesh/autoMesh/autoHexMesh/shellSurfaces/shellSurfaces.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -65,11 +65,8 @@ void Foam::shellSurfaces::setAndCheckLevels
 {
     if (modes_[shellI] != DISTANCE && distLevels.size() != 1)
     {
-        FatalErrorIn
-        (
-            "shellSurfaces::shellSurfaces"
-            "(const searchableSurfaces&, const dictionary&)"
-        )   << "For refinement mode "
+        FatalErrorInFunction
+            << "For refinement mode "
             << refineModeNames_[modes_[shellI]]
             << " specify only one distance+level."
             << " (its distance gets discarded)"
@@ -93,11 +90,8 @@ void Foam::shellSurfaces::setAndCheckLevels
              || (levels_[shellI][j] > levels_[shellI][j-1])
             )
             {
-                FatalErrorIn
-                (
-                    "shellSurfaces::shellSurfaces"
-                    "(const searchableSurfaces&, const dictionary&)"
-                )   << "For refinement mode "
+                FatalErrorInFunction
+                    << "For refinement mode "
                     << refineModeNames_[modes_[shellI]]
                     << " : Refinement should be specified in order"
                     << " of increasing distance"
@@ -126,12 +120,8 @@ void Foam::shellSurfaces::setAndCheckLevels
     {
         if (!allGeometry_[shells_[shellI]].hasVolumeType())
         {
-            FatalErrorIn
-            (
-                "shellSurfaces::shellSurfaces"
-                "(const searchableSurfaces&"
-                ", const PtrList<dictionary>&)"
-            )   << "Shell " << shell.name()
+            FatalErrorInFunction
+                << "Shell " << shell.name()
                 << " does not support testing for "
                 << refineModeNames_[modes_[shellI]] << endl
                 << "Probably it is not closed."
@@ -413,9 +403,8 @@ Foam::shellSurfaces::shellSurfaces
 
     if (unmatchedKeys.size() > 0)
     {
-        IOWarningIn
+        IOWarningInFunction
         (
-            "shellSurfaces::shellSurfaces(..)",
             shellsDict
         )   << "Not all entries in refinementRegions dictionary were used."
             << " The following entries were not used : "
diff --git a/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C b/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C
index fad60ea2fdc..1357a9e5668 100644
--- a/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C
+++ b/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C
@@ -49,13 +49,8 @@ Foam::blockDescriptor::blockDescriptor
 {
     if (expand_.size() != 12)
     {
-        FatalErrorIn
-        (
-            "blockDescriptor::blockDescriptor"
-            "(const cellShape&, const pointField& blockPointField, "
-            "const curvedEdgeList&, const Vector<label>& meshDensity, "
-            "const scalarList& expand, const word& zoneName)"
-        )   << "Unknown definition of expansion ratios"
+        FatalErrorInFunction
+            << "Unknown definition of expansion ratios"
             << exit(FatalError);
     }
 
@@ -106,10 +101,8 @@ Foam::blockDescriptor::blockDescriptor
         }
         else
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "blockDescriptor::blockDescriptor"
-                "(const pointField&, const curvedEdgeList&, Istream&)",
                 is
             )   << "incorrect token while reading n, expected '(', found "
                 << t.info()
@@ -163,11 +156,8 @@ Foam::blockDescriptor::blockDescriptor
     }
     else
     {
-        FatalErrorIn
-        (
-            "blockDescriptor::blockDescriptor"
-            "(const pointField&, const curvedEdgeList&, Istream&)"
-        )   << "Unknown definition of expansion ratios: " << expRatios
+        FatalErrorInFunction
+            << "Unknown definition of expansion ratios: " << expRatios
             << exit(FatalError);
     }
 
diff --git a/src/mesh/blockMesh/blockMesh/blockMesh.C b/src/mesh/blockMesh/blockMesh/blockMesh.C
index a7d46b04017..615a8d7c556 100644
--- a/src/mesh/blockMesh/blockMesh/blockMesh.C
+++ b/src/mesh/blockMesh/blockMesh/blockMesh.C
@@ -83,7 +83,7 @@ const Foam::polyMesh& Foam::blockMesh::topology() const
 {
     if (!topologyPtr_)
     {
-        FatalErrorIn("blockMesh::topology() const")
+        FatalErrorInFunction
             << "topologyPtr_ not allocated"
             << exit(FatalError);
     }
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshCheck.C b/src/mesh/blockMesh/blockMesh/blockMeshCheck.C
index 39c7ed6c109..e153f9d7b7b 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshCheck.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshCheck.C
@@ -139,7 +139,7 @@ void Foam::blockMesh::checkBlockMesh(const polyMesh& bm) const
 
     if (!ok)
     {
-        FatalErrorIn("blockMesh::checkBlockMesh(const polyMesh& bm)")
+        FatalErrorInFunction
             << "Block mesh topology incorrect, stopping mesh generation!"
             << exit(FatalError);
     }
@@ -161,10 +161,8 @@ bool Foam::blockMesh::blockLabelsOK
         {
             ok = false;
 
-            WarningIn
-            (
-                "bool Foam::blockMesh::blockLabelsOK(...)"
-            )   << "out-of-range point label " << blockShape[blockI]
+            WarningInFunction
+                << "out-of-range point label " << blockShape[blockI]
                 << " (min = 0"
                 << ") in block " << blockLabel << endl;
         }
@@ -172,10 +170,8 @@ bool Foam::blockMesh::blockLabelsOK
         {
             ok = false;
 
-            WarningIn
-            (
-                "bool Foam::blockMesh::blockLabelsOK(...)"
-            )   << "out-of-range point label " << blockShape[blockI]
+            WarningInFunction
+                << "out-of-range point label " << blockShape[blockI]
                 << " (max = " << points.size() - 1
                 << ") in block " << blockLabel << endl;
         }
@@ -204,10 +200,8 @@ bool Foam::blockMesh::patchLabelsOK
             {
                 ok = false;
 
-                WarningIn
-                (
-                    "bool Foam::blockMesh::patchLabelsOK(...)"
-                )   << "out-of-range point label " << f[fp]
+                WarningInFunction
+                    << "out-of-range point label " << f[fp]
                     << " (min = 0"
                     << ") on patch " << patchLabel
                     << ", face " << faceI << endl;
@@ -216,10 +210,8 @@ bool Foam::blockMesh::patchLabelsOK
             {
                 ok = false;
 
-                WarningIn
-                (
-                    "bool Foam::blockMesh::patchLabelsOK(...)"
-                )   << "out-of-range point label " << f[fp]
+                WarningInFunction
+                    << "out-of-range point label " << f[fp]
                     << " (max = " << points.size() - 1
                     << ") on patch " << patchLabel
                     << ", face " << faceI << endl;
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshMerge.C b/src/mesh/blockMesh/blockMesh/blockMeshMerge.C
index f8d05d0f2d7..edac5b9e491 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshMerge.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshMerge.C
@@ -95,7 +95,7 @@ void Foam::blockMesh::calcMergeInfo()
 
         if (!foundFace)
         {
-            FatalErrorIn("blockMesh::calcMergeInfo()")
+            FatalErrorInFunction
                 << "Cannot find merge face for block " << blockPlabel
                 << exit(FatalError);
         }
@@ -204,7 +204,7 @@ void Foam::blockMesh::calcMergeInfo()
 
         if (!foundFace)
         {
-            FatalErrorIn("blockMesh::calcMergeInfo()")
+            FatalErrorInFunction
                 << "Cannot find merge face for block " << blockNlabel
                 << exit(FatalError);
         }
@@ -214,7 +214,7 @@ void Foam::blockMesh::calcMergeInfo()
 
         if (blockPfaceFaces.size() != blockNfaceFaces.size())
         {
-            FatalErrorIn("blockMesh::calcMergeInfo()")
+            FatalErrorInFunction
                 << "Inconsistent number of faces between block pair "
                 << blockPlabel << " and " << blockNlabel
                 << exit(FatalError);
@@ -287,7 +287,7 @@ void Foam::blockMesh::calcMergeInfo()
             {
                 if (cp[blockPfaceFacePointLabel] == -1)
                 {
-                    FatalErrorIn("blockMesh::calcMergeInfo()")
+                    FatalErrorInFunction
                         << "Inconsistent point locations between block pair "
                         << blockPlabel << " and " << blockNlabel << nl
                         << "    probably due to inconsistent grading."
@@ -407,7 +407,7 @@ void Foam::blockMesh::calcMergeInfo()
 
         if (nPasses > 100)
         {
-            FatalErrorIn("blockMesh::calcMergeInfo()")
+            FatalErrorInFunction
                 << "Point merging failed after max number of passes."
                 << exit(FatalError);
         }
@@ -452,7 +452,7 @@ void Foam::blockMesh::calcMergeInfo()
 
         if (!foundFace)
         {
-            FatalErrorIn("blockMesh::calcMergeInfo()")
+            FatalErrorInFunction
                 << "Cannot find merge face for block " << blockPlabel
                 << exit(FatalError);
         }
@@ -479,7 +479,7 @@ void Foam::blockMesh::calcMergeInfo()
 
         if (!foundFace)
         {
-            FatalErrorIn("blockMesh::calcMergeInfo()")
+            FatalErrorInFunction
                 << "Cannot find merge face for block " << blockNlabel
                 << exit(FatalError);
         }
@@ -503,7 +503,7 @@ void Foam::blockMesh::calcMergeInfo()
 
                 if (mergeList_[PpointLabel] == -1)
                 {
-                    FatalErrorIn("blockMesh::calcMergeInfo()")
+                    FatalErrorInFunction
                         << "Unable to merge point "
                         << blockPfaceFacePointLabel
                         << ' ' << blockPpoints[blockPfaceFacePointLabel]
@@ -529,7 +529,7 @@ void Foam::blockMesh::calcMergeInfo()
 
                 if (mergeList_[NpointLabel] == -1)
                 {
-                    FatalErrorIn("blockMesh::calcMergeInfo()")
+                    FatalErrorInFunction
                         << "unable to merge point "
                         << blockNfaceFacePointLabel
                         << ' ' << blockNpoints[blockNfaceFacePointLabel]
@@ -552,7 +552,7 @@ void Foam::blockMesh::calcMergeInfo()
     {
         if (mergeList_[pointLabel] > pointLabel)
         {
-            FatalErrorIn("blockMesh::calcMergeInfo()")
+            FatalErrorInFunction
                 << "Merge list contains point index out of range"
                 << exit(FatalError);
         }
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshMergeFast.C b/src/mesh/blockMesh/blockMesh/blockMeshMergeFast.C
index 077db0b8fd2..2936da2643a 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshMergeFast.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshMergeFast.C
@@ -103,11 +103,8 @@ Pair<int> faceMap
         }
     }
 
-    FatalErrorIn
-    (
-        "faceMap(const label facePi, const face& faceP, "
-        "const label faceNi, const face& faceN)"
-    )   << "Cannot find point correspondance for faces "
+    FatalErrorInFunction
+        << "Cannot find point correspondance for faces "
         << faceP << " and " << faceN
         << exit(FatalError);
 
@@ -146,7 +143,7 @@ void setBlockFaceCorrespondence
 
         if (!foundFace)
         {
-            FatalErrorIn("setBlockFaceCorrespondence()")
+            FatalErrorInFunction
                 << "Cannot find merge face for block " << topoPi
                 << exit(FatalError);
         }
@@ -410,7 +407,7 @@ void Foam::blockMesh::calcMergeInfoFast()
 
             if (Pnij != NPnij)
             {
-                FatalErrorIn("blockMesh::calcMergeInfoFast()")
+                FatalErrorInFunction
                     << "Sub-division mismatch between face "
                     << blockPfacei << " of block " << blockPi << Pnij
                     << " and face "
@@ -449,7 +446,7 @@ void Foam::blockMesh::calcMergeInfoFast()
 
                 if (sqrDist > testSqrDist)
                 {
-                    FatalErrorIn("blockMesh::calcMergeInfoFast()")
+                    FatalErrorInFunction
                         << "Point merge failure between face "
                         << blockPfacei << " of block " << blockPi
                         << " and face "
@@ -555,7 +552,7 @@ void Foam::blockMesh::calcMergeInfoFast()
 
         if (nPasses > 100)
         {
-            FatalErrorIn("blockMesh::calcMergeInfoFast()")
+            FatalErrorInFunction
                 << "Point merging failed after 100 passes."
                 << exit(FatalError);
         }
@@ -570,7 +567,7 @@ void Foam::blockMesh::calcMergeInfoFast()
     {
         if (mergeList_[pointi] > pointi)
         {
-            FatalErrorIn("blockMesh::calcMergeInfoFast()")
+            FatalErrorInFunction
                 << "Merge list contains point index out of range"
                 << exit(FatalError);
         }
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshTopology.C b/src/mesh/blockMesh/blockMesh/blockMeshTopology.C
index a4b9b548cb6..2d476ef2a90 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshTopology.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshTopology.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -99,10 +99,8 @@ bool Foam::blockMesh::readPatches
         {
             if (patchNames[nPatches] == patchNames[i])
             {
-                FatalErrorIn
-                (
-                    "blockMesh::createTopology(IOdictionary&)"
-                )   << "Duplicate patch " << patchNames[nPatches]
+                FatalErrorInFunction
+                    << "Duplicate patch " << patchNames[nPatches]
                     << " at line " << patchStream.lineNumber()
                     << ". Exiting !" << nl
                     << exit(FatalError);
@@ -126,7 +124,7 @@ bool Foam::blockMesh::readPatches
             word halfA = patchNames[nPatches-1] + "_half0";
             word halfB = patchNames[nPatches-1] + "_half1";
 
-            WarningIn("blockMesh::createTopology(IOdictionary&)")
+            WarningInFunction
                 << "Old-style cyclic definition."
                 << " Splitting patch "
                 << patchNames[nPatches-1] << " into two halves "
@@ -154,10 +152,8 @@ bool Foam::blockMesh::readPatches
             // Split faces
             if ((tmpBlocksPatches[nPatches-1].size() % 2) != 0)
             {
-                FatalErrorIn
-                (
-                    "blockMesh::createTopology(IOdictionary&)"
-                )   << "Size of cyclic faces is not a multiple of 2 :"
+                FatalErrorInFunction
+                    << "Size of cyclic faces is not a multiple of 2 :"
                     << tmpBlocksPatches[nPatches-1]
                     << exit(FatalError);
             }
@@ -212,7 +208,7 @@ bool Foam::blockMesh::readBoundary
 
         if (!patchInfo.isDict())
         {
-            FatalIOErrorIn("blockMesh::readBoundary(..)", meshDescription)
+            FatalIOErrorInFunction(meshDescription)
                 << "Entry " << patchInfo << " in boundary section is not a"
                 << " valid dictionary." << exit(FatalIOError);
         }
@@ -249,10 +245,8 @@ void Foam::blockMesh::createCellShapes
 
         if (tmpBlockCells[blockI].mag(blockPointField_) < 0.0)
         {
-            WarningIn
-            (
-                "blockMesh::createTopology(IOdictionary&)"
-            )   << "negative volume block : " << blockI
+            WarningInFunction
+                << "negative volume block : " << blockI
                 << ", probably defined inside-out" << endl;
         }
     }
@@ -465,7 +459,7 @@ Foam::polyMesh* Foam::blockMesh::createTopology
 
         if (!topologyOK)
         {
-            FatalErrorIn("blockMesh::createTopology(IOdictionary&)")
+            FatalErrorInFunction
                 << "Cannot create mesh due to errors in topology, exiting !"
                 << nl << exit(FatalError);
         }
@@ -510,9 +504,8 @@ Foam::polyMesh* Foam::blockMesh::createTopology
             }
             else if (word(dict.lookup("type")) != patchTypes[patchI])
             {
-                IOWarningIn
+                IOWarningInFunction
                 (
-                    "blockMesh::createTopology(IOdictionary&)",
                     meshDescription
                 )   << "For patch " << patchNames[patchI]
                     << " overriding type '" << patchTypes[patchI]
@@ -565,7 +558,7 @@ Foam::polyMesh* Foam::blockMesh::createTopology
 
         if (!topologyOK)
         {
-            FatalErrorIn("blockMesh::createTopology(IOdictionary&)")
+            FatalErrorInFunction
                 << "Cannot create mesh due to errors in topology, exiting !"
                 << nl << exit(FatalError);
         }
diff --git a/src/mesh/blockMesh/curvedEdges/arcEdge.C b/src/mesh/blockMesh/curvedEdges/arcEdge.C
index 512eab4a206..6f967cefb0a 100644
--- a/src/mesh/blockMesh/curvedEdges/arcEdge.C
+++ b/src/mesh/blockMesh/curvedEdges/arcEdge.C
@@ -52,8 +52,7 @@ Foam::cylindricalCS Foam::arcEdge::calcAngle()
 
     if (mag(denom) < VSMALL)
     {
-        FatalErrorIn("cylindricalCS arcEdge::calcAngle()")
-            << "Invalid arc definition - are the points co-linear?  Denom ="
+        FatalErrorInFunction
             << denom
             << abort(FatalError);
     }
@@ -135,7 +134,7 @@ Foam::point Foam::arcEdge::position(const scalar lambda) const
 {
     if (lambda < -SMALL || lambda > 1 + SMALL)
     {
-        FatalErrorIn("arcEdge::position(const scalar lambda) const")
+        FatalErrorInFunction
             << "Parameter out of range, lambda = " << lambda
             << abort(FatalError);
     }
diff --git a/src/mesh/blockMesh/curvedEdges/curvedEdge.C b/src/mesh/blockMesh/curvedEdges/curvedEdge.C
index 471f5a7f110..895c4729475 100644
--- a/src/mesh/blockMesh/curvedEdges/curvedEdge.C
+++ b/src/mesh/blockMesh/curvedEdges/curvedEdge.C
@@ -93,7 +93,7 @@ Foam::autoPtr<Foam::curvedEdge> Foam::curvedEdge::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalErrorIn("curvedEdge::New(const pointField&, Istream&)")
+        FatalErrorInFunction
             << "Unknown curvedEdge type "
             << edgeType << nl << nl
             << "Valid curvedEdge types are" << endl
diff --git a/src/mesh/blockMesh/curvedEdges/lineEdge.C b/src/mesh/blockMesh/curvedEdges/lineEdge.C
index a00243e5841..260ede19619 100644
--- a/src/mesh/blockMesh/curvedEdges/lineEdge.C
+++ b/src/mesh/blockMesh/curvedEdges/lineEdge.C
@@ -67,7 +67,7 @@ Foam::point Foam::lineEdge::position(const scalar lambda) const
 {
     if (lambda < -SMALL || lambda > 1+SMALL)
     {
-        FatalErrorIn("lineEdge::position(const scalar)")
+        FatalErrorInFunction
             << "Parameter out of range, lambda = " << lambda
             << abort(FatalError);
     }
diff --git a/src/mesh/extrudeModel/extrudeModel/extrudeModelNew.C b/src/mesh/extrudeModel/extrudeModel/extrudeModelNew.C
index 18e18d3b4f5..010ddc4de4e 100644
--- a/src/mesh/extrudeModel/extrudeModel/extrudeModelNew.C
+++ b/src/mesh/extrudeModel/extrudeModel/extrudeModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,10 +41,8 @@ Foam::autoPtr<Foam::extrudeModel> Foam::extrudeModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "extrudeModel::New(const dictionary&)"
-        )   << "Unknown extrudeModel type "
+        FatalErrorInFunction
+            << "Unknown extrudeModel type "
             << modelType << nl << nl
             << "Valid extrudeModel types are :" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << nl
diff --git a/src/mesh/extrudeModel/linearDirection/linearDirection.C b/src/mesh/extrudeModel/linearDirection/linearDirection.C
index d7db3a45b54..36a0094d2ed 100644
--- a/src/mesh/extrudeModel/linearDirection/linearDirection.C
+++ b/src/mesh/extrudeModel/linearDirection/linearDirection.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,7 +52,7 @@ linearDirection::linearDirection(const dictionary& dict)
 
     if (thickness_ <= 0)
     {
-        FatalErrorIn("linearDirection(const dictionary&)")
+        FatalErrorInFunction
             << "thickness should be positive : " << thickness_
             << exit(FatalError);
     }
diff --git a/src/mesh/extrudeModel/linearNormal/linearNormal.C b/src/mesh/extrudeModel/linearNormal/linearNormal.C
index 06e0aafc2ce..d3a25216aee 100644
--- a/src/mesh/extrudeModel/linearNormal/linearNormal.C
+++ b/src/mesh/extrudeModel/linearNormal/linearNormal.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,7 +51,7 @@ linearNormal::linearNormal(const dictionary& dict)
 {
     if (thickness_ <= 0)
     {
-        FatalErrorIn("linearNormal(const dictionary&)")
+        FatalErrorInFunction
             << "thickness should be positive : " << thickness_
             << exit(FatalError);
     }
@@ -60,7 +60,7 @@ linearNormal::linearNormal(const dictionary& dict)
 
     if (firstCellThickness_ >= thickness_)
     {
-        FatalErrorIn("linearNormal(const dictionary&)")
+        FatalErrorInFunction
             << "firstCellThickness is larger than thickness"
             << exit(FatalError);
     }
diff --git a/src/mesh/extrudeModel/planeExtrusion/planeExtrusion.C b/src/mesh/extrudeModel/planeExtrusion/planeExtrusion.C
index 53efd1c1000..dfcb24d10ea 100644
--- a/src/mesh/extrudeModel/planeExtrusion/planeExtrusion.C
+++ b/src/mesh/extrudeModel/planeExtrusion/planeExtrusion.C
@@ -48,7 +48,7 @@ plane::plane(const dictionary& dict)
 {
     if (nLayers_ != 1)
     {
-        IOWarningIn("plane::plane(const dictionary& dict)", dict)
+        IOWarningInFunction(dict)
             << "Expected nLayers (if specified) to be 1"
             << endl;
         nLayers_ = 1;
diff --git a/src/mesh/extrudeModel/sigmaRadial/sigmaRadial.C b/src/mesh/extrudeModel/sigmaRadial/sigmaRadial.C
index bb447806cf6..c97caf82504 100644
--- a/src/mesh/extrudeModel/sigmaRadial/sigmaRadial.C
+++ b/src/mesh/extrudeModel/sigmaRadial/sigmaRadial.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,7 +51,7 @@ sigmaRadial::sigmaRadial(const dictionary& dict)
 {
     if (mag(expansionRatio() - 1.0) > SMALL)
     {
-        WarningIn("sigmaRadial::sigmaRadial(const dictionary&)")
+        WarningInFunction
             << "Ignoring expansionRatio setting." << endl;
     }
 }
diff --git a/src/mesh/extrudeModel/wedge/wedge.C b/src/mesh/extrudeModel/wedge/wedge.C
index f29d8145db6..a5d139c1b3f 100644
--- a/src/mesh/extrudeModel/wedge/wedge.C
+++ b/src/mesh/extrudeModel/wedge/wedge.C
@@ -48,7 +48,7 @@ wedge::wedge(const dictionary& dict)
 {
     if (nLayers_ != 1)
     {
-        IOWarningIn("wedge::wedge(const dictionary& dict)", dict)
+        IOWarningInFunction(dict)
             << "Expected nLayers (if specified) to be 1"
             << endl;
         nLayers_ = 1;
diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.C b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.C
index 70372fc7244..f3b6c566387 100644
--- a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.C
+++ b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,15 +63,7 @@ Foam::AMIInterpolation<SourcePatch, TargetPatch>::interpolationMethodToWord
         }
         default:
         {
-            FatalErrorIn
-            (
-                "const Foam::word"
-                "Foam::AMIInterpolation<SourcePatch, TargetPatch>::"
-                "interpolationMethodToWord"
-                "("
-                    "const interpolationMethod&"
-                ")"
-            )
+            FatalErrorInFunction
                 << "Unhandled interpolationMethod enumeration " << method
                 << abort(FatalError);
         }
@@ -121,16 +113,7 @@ Foam::AMIInterpolation<SourcePatch, TargetPatch>::wordTointerpolationMethod
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::AMIInterpolation<SourcePatch, TargetPatch>::"
-            "interpolationMethod"
-            "Foam::AMIInterpolation<SourcePatch, TargetPatch>::"
-            "wordTointerpolationMethod"
-            "("
-                "const word&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Invalid interpolationMethod " << im
             << ".  Valid methods are:" << methods
             << exit(FatalError);
@@ -176,15 +159,7 @@ void Foam::AMIInterpolation<SourcePatch, TargetPatch>::projectPointsToSurface
 
     if (nMiss > 0)
     {
-        FatalErrorIn
-        (
-            "void Foam::AMIInterpolation<SourcePatch, TargetPatch>::"
-            "projectPointsToSurface"
-            "("
-                "const searchableSurface&, "
-                "pointField&"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Error projecting points to surface: "
             << nMiss << " faces could not be determined"
             << abort(FatalError);
@@ -786,15 +761,8 @@ Foam::AMIInterpolation<SourcePatch, TargetPatch>::AMIInterpolation
      || fineAMI.tgtAddress().size() != targetRestrictAddressing.size()
     )
     {
-        FatalErrorIn
-        (
-            "AMIInterpolation<SourcePatch, TargetPatch>::AMIInterpolation"
-            "("
-                "const AMIInterpolation<SourcePatch, TargetPatch>&, "
-                "const labelList&, "
-                "const labelList&"
-            ")"
-        )   << "Size mismatch." << nl
+        FatalErrorInFunction
+            << "Size mismatch." << nl
             << "Source patch size:" << fineAMI.srcAddress().size() << nl
             << "Source agglomeration size:"
             << sourceRestrictAddressing.size() << nl
@@ -1143,16 +1111,8 @@ void Foam::AMIInterpolation<SourcePatch, TargetPatch>::interpolateToTarget
 {
     if (fld.size() != srcAddress_.size())
     {
-        FatalErrorIn
-        (
-            "AMIInterpolation::interpolateToTarget"
-            "("
-                "const UList<Type>&, "
-                "const CombineOp&, "
-                "List<Type>&, "
-                "const UList<Type>&"
-            ") const"
-        )   << "Supplied field size is not equal to source patch size" << nl
+        FatalErrorInFunction
+            << "Supplied field size is not equal to source patch size" << nl
             << "    source patch   = " << srcAddress_.size() << nl
             << "    target patch   = " << tgtAddress_.size() << nl
             << "    supplied field = " << fld.size()
@@ -1163,16 +1123,8 @@ void Foam::AMIInterpolation<SourcePatch, TargetPatch>::interpolateToTarget
     {
         if (defaultValues.size() != tgtAddress_.size())
         {
-            FatalErrorIn
-            (
-                "AMIInterpolation::interpolateToTarget"
-                "("
-                    "const UList<Type>&, "
-                    "const CombineOp&, "
-                    "List<Type>&, "
-                    "const UList<Type>&"
-                ") const"
-            )   << "Employing default values when sum of weights falls below "
+            FatalErrorInFunction
+                << "Employing default values when sum of weights falls below "
                 << lowWeightCorrection_
                 << " but supplied default field size is not equal to target "
                 << "patch size" << nl
@@ -1244,16 +1196,8 @@ void Foam::AMIInterpolation<SourcePatch, TargetPatch>::interpolateToSource
 {
     if (fld.size() != tgtAddress_.size())
     {
-        FatalErrorIn
-        (
-            "AMIInterpolation::interpolateToSource"
-            "("
-                "const UList<Type>&, "
-                "const CombineOp&, "
-                "List<Type>&, "
-                "const UList<Type>&"
-            ") const"
-        )   << "Supplied field size is not equal to target patch size" << nl
+        FatalErrorInFunction
+            << "Supplied field size is not equal to target patch size" << nl
             << "    source patch   = " << srcAddress_.size() << nl
             << "    target patch   = " << tgtAddress_.size() << nl
             << "    supplied field = " << fld.size()
@@ -1264,16 +1208,8 @@ void Foam::AMIInterpolation<SourcePatch, TargetPatch>::interpolateToSource
     {
         if (defaultValues.size() != srcAddress_.size())
         {
-            FatalErrorIn
-            (
-                "AMIInterpolation::interpolateToSource"
-                "("
-                    "const UList<Type>&, "
-                    "const CombineOp&, "
-                    "List<Type>&, "
-                    "const UList<Type>&"
-                ") const"
-            )   << "Employing default values when sum of weights falls below "
+            FatalErrorInFunction
+                << "Employing default values when sum of weights falls below "
                 << lowWeightCorrection_
                 << " but supplied default field size is not equal to target "
                 << "patch size" << nl
diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethod.C b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethod.C
index 292d8167328..8eb4aaeeca7 100644
--- a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethod.C
+++ b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethod.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,7 +54,7 @@ void Foam::AMIMethod<SourcePatch, TargetPatch>::checkPatches() const
 
         if (!bbTgtInf.contains(bbSrc))
         {
-            WarningIn("AMIMethod<SourcePatch, TargetPatch>::checkPatches()")
+            WarningInFunction
                 << "Source and target patch bounding boxes are not similar"
                 << nl
                 << "    source box span     : " << bbSrc.span() << nl
@@ -94,18 +94,7 @@ bool Foam::AMIMethod<SourcePatch, TargetPatch>::initialise
     }
     else if (!tgtPatch_.size())
     {
-        WarningIn
-        (
-            "void Foam::AMIMethod<SourcePatch, TargetPatch>::initialise"
-            "("
-                "labelListList&, "
-                "scalarListList&, "
-                "labelListList&, "
-                "scalarListList&, "
-                "label&, "
-                "label&"
-            ")"
-        )
+        WarningInFunction
             << srcPatch_.size() << " source faces but no target faces" << endl;
 
         return false;
@@ -135,18 +124,8 @@ bool Foam::AMIMethod<SourcePatch, TargetPatch>::initialise
         {
             if (requireMatch_)
             {
-                FatalErrorIn
-                (
-                    "void Foam::AMIMethod<SourcePatch, TargetPatch>::initialise"
-                    "("
-                        "labelListList&, "
-                        "scalarListList&, "
-                        "labelListList&, "
-                        "scalarListList&, "
-                        "label&, "
-                        "label&"
-                    ")"
-                )   << "Unable to find initial target face"
+                FatalErrorInFunction
+                    << "Unable to find initial target face"
                     << abort(FatalError);
             }
 
diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethodNew.C b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethodNew.C
index d06294d583c..3d1463305c8 100644
--- a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethodNew.C
+++ b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethodNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,20 +49,8 @@ Foam::AMIMethod<SourcePatch, TargetPatch>::New
 
     if (cstrIter == componentsConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "AMIMethod<SourcePatch, TargetPatch>::New"
-            "("
-                "const word&, "
-                "const SourcePatch&, "
-                "const TargetPatch&, "
-                "const scalarField&, "
-                "const scalarField&, "
-                "const faceAreaIntersect::triangulationMode&, "
-                "const bool, "
-                "const bool"
-            ")"
-        )   << "Unknown AMIMethod type "
+        FatalErrorInFunction
+            << "Unknown AMIMethod type "
             << methodName << nl << nl
             << "Valid AMIMethod types are:" << nl
             << componentsConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/faceAreaWeightAMI/faceAreaWeightAMI.C b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/faceAreaWeightAMI/faceAreaWeightAMI.C
index d9cfb8402a0..da5c84ac97b 100644
--- a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/faceAreaWeightAMI/faceAreaWeightAMI.C
+++ b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/faceAreaWeightAMI/faceAreaWeightAMI.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -284,20 +284,8 @@ void Foam::faceAreaWeightAMI<SourcePatch, TargetPatch>::setNextFaces
 
         if (errorOnNotFound)
         {
-            FatalErrorIn
-            (
-                "void Foam::faceAreaWeightAMI<SourcePatch, TargetPatch>::"
-                "setNextFaces"
-                "("
-                    "label&, "
-                    "label&, "
-                    "label&, "
-                    "const boolList&, "
-                    "labelList&, "
-                    "const DynamicList<label>&, "
-                    "bool"
-                ") const"
-            )  << "Unable to set source and target faces" << abort(FatalError);
+            FatalErrorInFunction
+               << "Unable to set source and target faces" << abort(FatalError);
         }
     }
 }
@@ -348,15 +336,8 @@ Foam::scalar Foam::faceAreaWeightAMI<SourcePatch, TargetPatch>::interArea
     }
     else
     {
-        WarningIn
-        (
-            "void Foam::faceAreaWeightAMI<SourcePatch, TargetPatch>::"
-            "interArea"
-            "("
-                "const label, "
-                "const label"
-            ") const"
-        )   << "Invalid normal for source face " << srcFaceI
+        WarningInFunction
+            << "Invalid normal for source face " << srcFaceI
             << " points " << UIndirectList<point>(srcPoints, src)
             << " target face " << tgtFaceI
             << " points " << UIndirectList<point>(tgtPoints, tgt)
diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/mapNearestAMI/mapNearestAMI.C b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/mapNearestAMI/mapNearestAMI.C
index 4f4f8e5a99a..0efaf241f46 100644
--- a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/mapNearestAMI/mapNearestAMI.C
+++ b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/mapNearestAMI/mapNearestAMI.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -108,17 +108,7 @@ void Foam::mapNearestAMI<SourcePatch, TargetPatch>::setNextNearestFaces
             {
                 const vectorField& srcCf = this->srcPatch_.faceCentres();
 
-                FatalErrorIn
-                (
-                    "void Foam::mapNearestAMI<SourcePatch, TargetPatch>::"
-                    "setNextNearestFaces"
-                    "("
-                        "boolList&, "
-                        "label&, "
-                        "label&, "
-                        "label&"
-                    ") const"
-                )
+                FatalErrorInFunction
                     << "Unable to find target face for source face "
                     << srcFaceI << " with face centre " << srcCf[srcFaceI]
                     << abort(FatalError);
diff --git a/src/meshTools/AMIInterpolation/faceAreaIntersect/faceAreaIntersect.C b/src/meshTools/AMIInterpolation/faceAreaIntersect/faceAreaIntersect.C
index 45d1eb515b5..617a85a0a08 100644
--- a/src/meshTools/AMIInterpolation/faceAreaIntersect/faceAreaIntersect.C
+++ b/src/meshTools/AMIInterpolation/faceAreaIntersect/faceAreaIntersect.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -355,16 +355,8 @@ Foam::scalar Foam::faceAreaIntersect::calc
         }
         default:
         {
-            FatalErrorIn
-            (
-                "Foam::scalar Foam::faceAreaIntersect::calc"
-                "("
-                    "const face&, "
-                    "const face&, "
-                    "const vector&, "
-                    "const triangulationMode&"
-                ")"
-            )   << "Unknown triangulation mode enumeration"
+            FatalErrorInFunction
+                << "Unknown triangulation mode enumeration"
                 << abort(FatalError);
         }
     }
diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.C b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.C
index cc15eaf02fa..038f403fff0 100644
--- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.C
+++ b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,14 +59,8 @@ Foam::cyclicACMIPointPatchField<Type>::cyclicACMIPointPatchField
 {
     if (!isType<cyclicACMIPointPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicACMIPointPatchField<Type>::cyclicACMIPointPatchField\n"
-            "(\n"
-            "    const pointPatch&,\n"
-            "    const DimensionedField<Type, pointMesh>&,\n"
-            "    const dictionary&\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not cyclicACMI type. "
             << "Patch type = " << p.type()
@@ -91,16 +85,8 @@ Foam::cyclicACMIPointPatchField<Type>::cyclicACMIPointPatchField
 {
     if (!isType<cyclicACMIPointPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "cyclicACMIPointPatchField<Type>::cyclicACMIPointPatchField\n"
-            "(\n"
-            "    const cyclicACMIPointPatchField<Type>&,\n"
-            "    const pointPatch&,\n"
-            "    const DimensionedField<Type, pointMesh>&,\n"
-            "    const pointPatchFieldMapper&\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C
index 6a033c394da..1da23843a4f 100644
--- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C
+++ b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C
@@ -135,7 +135,7 @@ void Foam::cyclicACMIPolyPatch::setNeighbourFaceAreas() const
     }
     else
     {
-        WarningIn("cyclicACMIPolyPatch::setNeighbourFaceAreas() const")
+        WarningInFunction
             << "Target mask size differs to that of the neighbour patch\n"
             << "    May occur when decomposing." << endl;
     }
@@ -259,16 +259,8 @@ Foam::cyclicACMIPolyPatch::cyclicACMIPolyPatch
 
     if (nonOverlapPatchName_ == name)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicACMIPolyPatch::cyclicACMIPolyPatch"
-            "("
-                "const word&, "
-                "const dictionary&, "
-                "const label, "
-                "const polyBoundaryMesh&, "
-                "const word&"
-            ")",
             dict
         )   << "Non-overlapping patch name " << nonOverlapPatchName_
             << " cannot be the same as this patch " << name
@@ -324,16 +316,8 @@ Foam::cyclicACMIPolyPatch::cyclicACMIPolyPatch
 
     if (nonOverlapPatchName_ == name())
     {
-        FatalErrorIn
-        (
-            "const cyclicACMIPolyPatch& "
-            "const polyBoundaryMesh&, "
-            "const label, "
-            "const label, "
-            "const label, "
-            "const word&, "
-            "const word&"
-        )   << "Non-overlapping patch name " << nonOverlapPatchName_
+        FatalErrorInFunction
+            << "Non-overlapping patch name " << nonOverlapPatchName_
             << " cannot be the same as this patch " << name()
             << exit(FatalError);
     }
@@ -388,7 +372,7 @@ Foam::label Foam::cyclicACMIPolyPatch::nonOverlapPatchID() const
 
         if (nonOverlapPatchID_ == -1)
         {
-            FatalErrorIn("cyclicPolyAMIPatch::neighbPatchID() const")
+            FatalErrorInFunction
                 << "Illegal non-overlapping patch name " << nonOverlapPatchName_
                 << nl << "Valid patch names are "
                 << this->boundaryMesh().names()
@@ -397,7 +381,7 @@ Foam::label Foam::cyclicACMIPolyPatch::nonOverlapPatchID() const
 
         if (nonOverlapPatchID_ < index())
         {
-            FatalErrorIn("cyclicPolyAMIPatch::neighbPatchID() const")
+            FatalErrorInFunction
                 << "Boundary ordering error: " << type()
                 << " patch must be defined prior to its non-overlapping patch"
                 << nl
@@ -434,11 +418,8 @@ Foam::label Foam::cyclicACMIPolyPatch::nonOverlapPatchID() const
 
         if (!ok)
         {
-            FatalErrorIn
-            (
-                "Foam::label "
-                "Foam::cyclicACMIPolyPatch::nonOverlapPatchID() const"
-            )   << "Inconsistent ACMI patches " << name() << " and "
+            FatalErrorInFunction
+                << "Inconsistent ACMI patches " << name() << " and "
                 << noPp.name() << ".  Patches should have identical topology"
                 << exit(FatalError);
         }
diff --git a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.C b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.C
index a959b9b3afb..7bfdf7de807 100644
--- a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.C
+++ b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,14 +59,8 @@ Foam::cyclicAMIPointPatchField<Type>::cyclicAMIPointPatchField
 {
     if (!isType<cyclicAMIPointPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicAMIPointPatchField<Type>::cyclicAMIPointPatchField\n"
-            "(\n"
-            "    const pointPatch&,\n"
-            "    const DimensionedField<Type, pointMesh>&,\n"
-            "    const dictionary&\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not cyclicAMI type. "
             << "Patch type = " << p.type()
@@ -91,16 +85,8 @@ Foam::cyclicAMIPointPatchField<Type>::cyclicAMIPointPatchField
 {
     if (!isType<cyclicAMIPointPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "cyclicAMIPointPatchField<Type>::cyclicAMIPointPatchField\n"
-            "(\n"
-            "    const cyclicAMIPointPatchField<Type>&,\n"
-            "    const pointPatch&,\n"
-            "    const DimensionedField<Type, pointMesh>&,\n"
-            "    const pointPatchFieldMapper&\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
diff --git a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
index 7dfa8977f8b..a14224a42b4 100644
--- a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
+++ b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
@@ -116,7 +116,7 @@ void Foam::cyclicAMIPolyPatch::calcTransforms
 {
     if (transform() != neighbPatch().transform())
     {
-        FatalErrorIn("cyclicAMIPolyPatch::calcTransforms()")
+        FatalErrorInFunction
             << "Patch " << name()
             << " has transform type " << transformTypeNames[transform()]
             << ", neighbour patch " << neighbPatchName()
@@ -188,17 +188,8 @@ void Foam::cyclicAMIPolyPatch::calcTransforms
 
                 if (areaError > matchTolerance())
                 {
-                    WarningIn
-                    (
-                        "void Foam::cyclicAMIPolyPatch::calcTransforms"
-                        "("
-                            "const primitivePatch&, "
-                            "const pointField&, "
-                            "const vectorField&, "
-                            "const pointField&, "
-                            "const vectorField&"
-                        ")"
-                    )   << "Patch areas are not consistent within "
+                    WarningInFunction
+                        << "Patch areas are not consistent within "
                         << 100*matchTolerance()
                         << " % indicating a possible error in the specified "
                         << "angle of rotation" << nl
@@ -538,15 +529,8 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch
 {
     if (nbrPatchName_ == word::null && !coupleGroup_.valid())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicAMIPolyPatch::cyclicAMIPolyPatch"
-            "("
-                "const word&, "
-                "const dictionary&, "
-                "const label, "
-                "const polyBoundaryMesh&"
-            ")",
             dict
         )   << "No \"neighbourPatch\" or \"coupleGroup\" provided."
             << exit(FatalIOError);
@@ -554,15 +538,8 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch
 
     if (nbrPatchName_ == name)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicAMIPolyPatch::cyclicAMIPolyPatch"
-            "("
-                "const word&, "
-                "const dictionary&, "
-                "const label, "
-                "const polyBoundaryMesh&"
-            ")",
             dict
         )   << "Neighbour patch name " << nbrPatchName_
             << " cannot be the same as this patch " << name
@@ -590,15 +567,8 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch
             scalar magRot = mag(rotationAxis_);
             if (magRot < SMALL)
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "cyclicAMIPolyPatch::cyclicAMIPolyPatch"
-                    "("
-                        "const word&, "
-                        "const dictionary&, "
-                        "const label, "
-                        "const polyBoundaryMesh&"
-                    ")",
                     dict
                 )   << "Illegal rotationAxis " << rotationAxis_ << endl
                     << "Please supply a non-zero vector."
@@ -679,15 +649,8 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch
 {
     if (nbrPatchName_ == name())
     {
-        FatalErrorIn
-        (
-            "const cyclicAMIPolyPatch& "
-            "const polyBoundaryMesh&, "
-            "const label, "
-            "const label, "
-            "const label, "
-            "const word&"
-        )   << "Neighbour patch name " << nbrPatchName_
+        FatalErrorInFunction
+            << "Neighbour patch name " << nbrPatchName_
             << " cannot be the same as this patch " << name()
             << exit(FatalError);
     }
@@ -740,7 +703,7 @@ Foam::label Foam::cyclicAMIPolyPatch::neighbPatchID() const
 
         if (nbrPatchID_ == -1)
         {
-            FatalErrorIn("cyclicPolyAMIPatch::neighbPatchID() const")
+            FatalErrorInFunction
                 << "Illegal neighbourPatch name " << neighbPatchName()
                 << nl << "Valid patch names are "
                 << this->boundaryMesh().names()
@@ -756,7 +719,7 @@ Foam::label Foam::cyclicAMIPolyPatch::neighbPatchID() const
 
         if (nbrPatch.neighbPatchName() != name())
         {
-            WarningIn("cyclicAMIPolyPatch::neighbPatchID() const")
+            WarningInFunction
                 << "Patch " << name()
                 << " specifies neighbour patch " << neighbPatchName()
                 << nl << " but that in return specifies "
@@ -817,10 +780,7 @@ const Foam::AMIPatchToPatchInterpolation& Foam::cyclicAMIPolyPatch::AMI() const
 {
     if (!owner())
     {
-        FatalErrorIn
-        (
-            "const AMIPatchToPatchInterpolation& cyclicAMIPolyPatch::AMI()"
-        )
+        FatalErrorInFunction
             << "AMI interpolator only available to owner patch"
             << abort(FatalError);
     }
diff --git a/src/meshTools/algorithms/MeshWave/FaceCellWave.C b/src/meshTools/algorithms/MeshWave/FaceCellWave.C
index f254302a7f4..4988fcfb175 100644
--- a/src/meshTools/algorithms/MeshWave/FaceCellWave.C
+++ b/src/meshTools/algorithms/MeshWave/FaceCellWave.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -274,11 +274,7 @@ void Foam::FaceCellWave<Type, TrackingData>::checkCyclic
             )
         )
         {
-            FatalErrorIn
-            (
-                "FaceCellWave<Type, TrackingData>"
-                "::checkCyclic(const polyPatch&)"
-            )   << "problem: i:" << i1 << "  otheri:" << i2
+            FatalErrorInFunction
                 << "   faceInfo:" << allFaceInfo_[i1]
                 << "   otherfaceInfo:" << allFaceInfo_[i2]
                 << abort(FatalError);
@@ -286,11 +282,7 @@ void Foam::FaceCellWave<Type, TrackingData>::checkCyclic
 
         if (changedFace_[i1] != changedFace_[i2])
         {
-            FatalErrorIn
-            (
-                "FaceCellWave<Type, TrackingData>"
-                "::checkCyclic(const polyPatch&)"
-            )   << " problem: i:" << i1 << "  otheri:" << i2
+            FatalErrorInFunction
                 << "   faceInfo:" << allFaceInfo_[i1]
                 << "   otherfaceInfo:" << allFaceInfo_[i2]
                 << "   changedFace:" << changedFace_[i1]
@@ -847,12 +839,8 @@ Foam::FaceCellWave<Type, TrackingData>::FaceCellWave
      || allCellInfo.size() != mesh_.nCells()
     )
     {
-        FatalErrorIn
-        (
-            "FaceCellWave<Type, TrackingData>::FaceCellWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " UList<Type>&, UList<Type>&, const label maxIter)"
-        )   << "face and cell storage not the size of mesh faces, cells:"
+        FatalErrorInFunction
+            << "face and cell storage not the size of mesh faces, cells:"
             << endl
             << "    allFaceInfo   :" << allFaceInfo.size() << endl
             << "    mesh_.nFaces():" << mesh_.nFaces() << endl
@@ -902,12 +890,8 @@ Foam::FaceCellWave<Type, TrackingData>::FaceCellWave
      || allCellInfo.size() != mesh_.nCells()
     )
     {
-        FatalErrorIn
-        (
-            "FaceCellWave<Type, TrackingData>::FaceCellWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " UList<Type>&, UList<Type>&, const label maxIter)"
-        )   << "face and cell storage not the size of mesh faces, cells:"
+        FatalErrorInFunction
+            << "face and cell storage not the size of mesh faces, cells:"
             << endl
             << "    allFaceInfo   :" << allFaceInfo.size() << endl
             << "    mesh_.nFaces():" << mesh_.nFaces() << endl
@@ -924,12 +908,7 @@ Foam::FaceCellWave<Type, TrackingData>::FaceCellWave
 
     if ((maxIter > 0) && (iter >= maxIter))
     {
-        FatalErrorIn
-        (
-            "FaceCellWave<Type, TrackingData>::FaceCellWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " UList<Type>&, UList<Type>&, const label maxIter)"
-        )
+        FatalErrorInFunction
             << "Maximum number of iterations reached. Increase maxIter." << endl
             << "    maxIter:" << maxIter << endl
             << "    nChangedCells:" << nChangedCells_ << endl
@@ -975,7 +954,7 @@ Foam::label Foam::FaceCellWave<Type, TrackingData>::faceToCell()
         label faceI = changedFaces_[changedFaceI];
         if (!changedFace_[faceI])
         {
-            FatalErrorIn("FaceCellWave<Type, TrackingData>::faceToCell()")
+            FatalErrorInFunction
                 << "Face " << faceI
                 << " not marked as having been changed"
                 << abort(FatalError);
@@ -1058,7 +1037,7 @@ Foam::label Foam::FaceCellWave<Type, TrackingData>::cellToFace()
         label cellI = changedCells_[changedCellI];
         if (!changedCell_[cellI])
         {
-            FatalErrorIn("FaceCellWave<Type, TrackingData>::cellToFace()")
+            FatalErrorInFunction
                 << "Cell " << cellI << " not marked as having been changed"
                 << abort(FatalError);
         }
diff --git a/src/meshTools/algorithms/PatchEdgeFaceWave/PatchEdgeFaceWave.C b/src/meshTools/algorithms/PatchEdgeFaceWave/PatchEdgeFaceWave.C
index 0ac91b03c83..4435571b91e 100644
--- a/src/meshTools/algorithms/PatchEdgeFaceWave/PatchEdgeFaceWave.C
+++ b/src/meshTools/algorithms/PatchEdgeFaceWave/PatchEdgeFaceWave.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -328,12 +328,8 @@ PatchEdgeFaceWave
 
     if (allEdgeInfo_.size() != patch_.nEdges())
     {
-        FatalErrorIn
-        (
-            "PatchEdgeFaceWave<Type, TrackingData>::PatchEdgeFaceWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " List<Type>&, List<Type>&, const label maxIter)"
-        )   << "size of edgeInfo work array is not equal to the number"
+        FatalErrorInFunction
+            << "size of edgeInfo work array is not equal to the number"
             << " of edges in the patch" << endl
             << "    edgeInfo   :" << allEdgeInfo_.size() << endl
             << "    patch.nEdges:" << patch_.nEdges()
@@ -341,12 +337,8 @@ PatchEdgeFaceWave
     }
     if (allFaceInfo_.size() != patch_.size())
     {
-        FatalErrorIn
-        (
-            "PatchEdgeFaceWave<Type, TrackingData>::PatchEdgeFaceWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " List<Type>&, List<Type>&, const label maxIter)"
-        )   << "size of edgeInfo work array is not equal to the number"
+        FatalErrorInFunction
+            << "size of edgeInfo work array is not equal to the number"
             << " of faces in the patch" << endl
             << "    faceInfo   :" << allFaceInfo_.size() << endl
             << "    patch.size:" << patch_.size()
@@ -367,12 +359,8 @@ PatchEdgeFaceWave
 
     if ((maxIter > 0) && (iter >= maxIter))
     {
-        FatalErrorIn
-        (
-            "PatchEdgeFaceWave<Type, TrackingData>::PatchEdgeFaceWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " List<Type>&, List<Type>&, const label maxIter)"
-        )   << "Maximum number of iterations reached. Increase maxIter." << endl
+        FatalErrorInFunction
+            << "Maximum number of iterations reached. Increase maxIter." << endl
             << "    maxIter:" << maxIter << endl
             << "    changedEdges:" << changedEdges_.size() << endl
             << "    changedFaces:" << changedFaces_.size() << endl
@@ -511,7 +499,7 @@ faceToEdge()
 
         if (!changedFace_[faceI])
         {
-            FatalErrorIn("PatchEdgeFaceWave<Type, TrackingData>::faceToEdge()")
+            FatalErrorInFunction
                 << "face " << faceI
                 << " not marked as having been changed" << nl
                 << "This might be caused by multiple occurences of the same"
@@ -576,7 +564,7 @@ edgeToFace()
 
         if (!changedEdge_[edgeI])
         {
-            FatalErrorIn("PatchEdgeFaceWave<Type, TrackingData>::edgeToFace()")
+            FatalErrorInFunction
                 << "edge " << edgeI
                 << " not marked as having been changed" << nl
                 << "This might be caused by multiple occurences of the same"
diff --git a/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionI.H b/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionI.H
index 07e6935b257..e66ed648132 100644
--- a/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionI.H
+++ b/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,7 +39,7 @@ inline bool Foam::patchEdgeFaceRegion::update
 {
     if (!w2.valid(td))
     {
-        FatalErrorIn("patchEdgeFaceRegion::update(..)")
+        FatalErrorInFunction
             << "problem." << abort(FatalError);
     }
 
diff --git a/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionsI.H b/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionsI.H
index f39488a018f..a3c373bbb9f 100644
--- a/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionsI.H
+++ b/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionsI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -110,7 +110,7 @@ inline bool Foam::patchEdgeFaceRegions::updateEdge
 
     if (!faceInfo.valid(td))
     {
-        FatalErrorIn("patchEdgeFaceRegions::updateEdge(..)")
+        FatalErrorInFunction
             << "problem." << abort(FatalError);
     }
 
@@ -157,7 +157,7 @@ inline bool Foam::patchEdgeFaceRegions::updateEdge
 
     if (!edgeInfo.valid(td))
     {
-        FatalErrorIn("patchEdgeFaceRegions::updateEdge(..)")
+        FatalErrorInFunction
             << "problem." << abort(FatalError);
     }
 
@@ -217,7 +217,7 @@ inline bool Foam::patchEdgeFaceRegions::updateFace
 
     if (!edgeInfo.valid(td))
     {
-        FatalErrorIn("patchEdgeFaceRegions::updateFace(..)")
+        FatalErrorInFunction
             << "problem." << abort(FatalError);
     }
 
diff --git a/src/meshTools/algorithms/PointEdgeWave/PointEdgeWave.C b/src/meshTools/algorithms/PointEdgeWave/PointEdgeWave.C
index a4535d15534..3bd86cdfe32 100644
--- a/src/meshTools/algorithms/PointEdgeWave/PointEdgeWave.C
+++ b/src/meshTools/algorithms/PointEdgeWave/PointEdgeWave.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -134,11 +134,8 @@ void Foam::PointEdgeWave<Type, TrackingData>::transform
     }
     else
     {
-        FatalErrorIn
-        (
-            "PointEdgeWave<Type, TrackingData>::transform"
-            "(const tensorField&, List<Type>&)"
-        )   << "Non-uniform transformation on patch " << patch.name()
+        FatalErrorInFunction
+            << "Non-uniform transformation on patch " << patch.name()
             << " of type " << patch.type()
             << " not supported for point fields"
             << abort(FatalError);
@@ -638,12 +635,8 @@ Foam::PointEdgeWave<Type, TrackingData>::PointEdgeWave
 {
     if (allPointInfo_.size() != mesh_.nPoints())
     {
-        FatalErrorIn
-        (
-            "PointEdgeWave<Type, TrackingData>::PointEdgeWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " List<Type>&, List<Type>&, const label maxIter)"
-        )   << "size of pointInfo work array is not equal to the number"
+        FatalErrorInFunction
+            << "size of pointInfo work array is not equal to the number"
             << " of points in the mesh" << endl
             << "    pointInfo   :" << allPointInfo_.size() << endl
             << "    mesh.nPoints:" << mesh_.nPoints()
@@ -651,12 +644,8 @@ Foam::PointEdgeWave<Type, TrackingData>::PointEdgeWave
     }
     if (allEdgeInfo_.size() != mesh_.nEdges())
     {
-        FatalErrorIn
-        (
-            "PointEdgeWave<Type, TrackingData>::PointEdgeWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " List<Type>&, List<Type>&, const label maxIter)"
-        )   << "size of edgeInfo work array is not equal to the number"
+        FatalErrorInFunction
+            << "size of edgeInfo work array is not equal to the number"
             << " of edges in the mesh" << endl
             << "    edgeInfo   :" << allEdgeInfo_.size() << endl
             << "    mesh.nEdges:" << mesh_.nEdges()
@@ -678,12 +667,8 @@ Foam::PointEdgeWave<Type, TrackingData>::PointEdgeWave
 
     if ((maxIter > 0) && (iter >= maxIter))
     {
-        FatalErrorIn
-        (
-            "PointEdgeWave<Type, TrackingData>::PointEdgeWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " List<Type>&, List<Type>&, const label maxIter)"
-        )   << "Maximum number of iterations reached. Increase maxIter." << endl
+        FatalErrorInFunction
+            << "Maximum number of iterations reached. Increase maxIter." << endl
             << "    maxIter:" << maxIter << endl
             << "    nChangedPoints:" << nChangedPoints_ << endl
             << "    nChangedEdges:" << nChangedEdges_ << endl
@@ -794,7 +779,7 @@ Foam::label Foam::PointEdgeWave<Type, TrackingData>::edgeToPoint()
 
         if (!changedEdge_[edgeI])
         {
-            FatalErrorIn("PointEdgeWave<Type, TrackingData>::edgeToPoint()")
+            FatalErrorInFunction
                 << "edge " << edgeI
                 << " not marked as having been changed" << nl
                 << "This might be caused by multiple occurences of the same"
@@ -872,7 +857,7 @@ Foam::label Foam::PointEdgeWave<Type, TrackingData>::pointToEdge()
 
         if (!changedPoint_[pointI])
         {
-            FatalErrorIn("PointEdgeWave<Type, TrackingData>::pointToEdge()")
+            FatalErrorInFunction
                 << "Point " << pointI
                 << " not marked as having been changed" << nl
                 << "This might be caused by multiple occurences of the same"
diff --git a/src/meshTools/cellClassification/cellClassification.C b/src/meshTools/cellClassification/cellClassification.C
index 800d007f6fb..066062c24fd 100644
--- a/src/meshTools/cellClassification/cellClassification.C
+++ b/src/meshTools/cellClassification/cellClassification.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -287,11 +287,8 @@ void Foam::cellClassification::markCells
 
         if (returnReduce(cellI, maxOp<label>()) == -1)
         {
-            FatalErrorIn
-            (
-                "List<cellClassification::cType> markCells"
-                "(const meshSearch&, const boolList&, const pointField&)"
-            )   << "outsidePoint " << outsidePts[outsidePtI]
+            FatalErrorInFunction
+                << "outsidePoint " << outsidePts[outsidePtI]
                 << " is not inside any cell"
                 << nl << "It might be on a face or outside the geometry"
                 << exit(FatalError);
@@ -513,11 +510,8 @@ Foam::cellClassification::cellClassification
 {
     if (mesh_.nCells() != size())
     {
-        FatalErrorIn
-        (
-            "cellClassification::cellClassification"
-            "(const polyMesh&, const labelList&)"
-        )   << "Number of elements of cellType argument is not equal to the"
+        FatalErrorInFunction
+            << "Number of elements of cellType argument is not equal to the"
             << " number of cells" << abort(FatalError);
     }
 }
diff --git a/src/meshTools/cellClassification/cellInfoI.H b/src/meshTools/cellClassification/cellInfoI.H
index 300f9200367..11902e02b13 100644
--- a/src/meshTools/cellClassification/cellInfoI.H
+++ b/src/meshTools/cellClassification/cellInfoI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,7 +46,7 @@ inline bool Foam::cellInfo::update
      || (w2.type() == cellClassification::CUT)
     )
     {
-        FatalErrorIn("cellInfo::update(const cellInfo&)")
+        FatalErrorInFunction
             << "Problem: trying to propagate NOTSET or CUT type:" << w2.type()
             << " into cell/face with type:" << type() << endl
             << "thisFaceI:" << thisFaceI
@@ -77,7 +77,7 @@ inline bool Foam::cellInfo::update
     }
 
     // Two conflicting types
-    FatalErrorIn("cellInfo::update(const cellInfo&)")
+    FatalErrorInFunction
         << "Problem: trying to propagate conflicting types:" << w2.type()
         << " into cell/face with type:" << type() << endl
         << "thisFaceI:" << thisFaceI
diff --git a/src/meshTools/cellDist/cellDistFuncs.C b/src/meshTools/cellDist/cellDistFuncs.C
index 103f4ef992a..fb8300842ad 100644
--- a/src/meshTools/cellDist/cellDistFuncs.C
+++ b/src/meshTools/cellDist/cellDistFuncs.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -186,25 +186,25 @@ Foam::label Foam::cellDistFuncs::getPointNeighbours
 
             if (!nbs.found(nb))
             {
-                SeriousErrorIn("Foam::cellDistFuncs::getPointNeighbours")
+                SeriousErrorInFunction
                     << "getPointNeighbours : patchFaceI:" << patchFaceI
                     << " verts:" << f << endl;
 
                 forAll(f, fp)
                 {
-                    SeriousErrorIn("Foam::cellDistFuncs::getPointNeighbours")
+                    SeriousErrorInFunction
                         << "point:" << f[fp] << " pointFaces:"
                         << patch.pointFaces()[f[fp]] << endl;
                 }
 
                 for (label i = 0; i < nNeighbours; i++)
                 {
-                    SeriousErrorIn("Foam::cellDistFuncs::getPointNeighbours")
+                    SeriousErrorInFunction
                         << "fast nbr:" << neighbours[i]
                         << endl;
                 }
 
-                FatalErrorIn("getPointNeighbours")
+                FatalErrorInFunction
                     << "Problem: fast pointNeighbours routine included " << nb
                     << " which is not in proper neigbour list " << nbs.toc()
                     << abort(FatalError);
@@ -214,7 +214,7 @@ Foam::label Foam::cellDistFuncs::getPointNeighbours
 
         if (nbs.size())
         {
-            FatalErrorIn("getPointNeighbours")
+            FatalErrorInFunction
                 << "Problem: fast pointNeighbours routine did not find "
                 << nbs.toc() << abort(FatalError);
         }
diff --git a/src/meshTools/cellFeatures/cellFeatures.C b/src/meshTools/cellFeatures/cellFeatures.C
index 1282b16aaf5..660ba7d3fb1 100644
--- a/src/meshTools/cellFeatures/cellFeatures.C
+++ b/src/meshTools/cellFeatures/cellFeatures.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,10 +53,8 @@ bool Foam::cellFeatures::faceAlignedEdge(const label faceI, const label edgeI)
         }
     }
 
-    FatalErrorIn
-    (
-        "cellFeatures::faceAlignedEdge(const label, const label)"
-    )   << "Can not find edge " << mesh_.edges()[edgeI]
+    FatalErrorInFunction
+        << "Can not find edge " << mesh_.edges()[edgeI]
         << " on face " << faceI << abort(FatalError);
 
     return false;
@@ -101,11 +99,8 @@ Foam::label Foam::cellFeatures::nextEdge
         }
     }
 
-    FatalErrorIn
-    (
-        "cellFeatures::nextEdge(const label, const Map<label>"
-        ", const labelHashSet&, const label, const label, const label)"
-    )   << "Can not find edge in " << featureEdge_ << " connected to edge "
+    FatalErrorInFunction
+        << "Can not find edge in " << featureEdge_ << " connected to edge "
         << thisEdgeI << " at vertex " << thisVertI << endl
         << "This might mean that the externalEdges do not form a closed loop"
         << abort(FatalError);
@@ -359,7 +354,7 @@ void Foam::cellFeatures::calcSuperFaces() const
 
                 if (superFace.size() <= 2)
                 {
-                    WarningIn("cellFeatures::calcSuperFaces")
+                    WarningInFunction
                         << " Can not collapse faces " << faceMap_[superFaceI]
                         << " into one big face on cell " << cellI_ << endl
                         << "Try decreasing minCos:" << minCos_ << endl;
@@ -427,10 +422,8 @@ bool Foam::cellFeatures::isFeaturePoint(const label edge0, const label edge1)
      || (edge1 >= mesh_.nEdges())
     )
     {
-        FatalErrorIn
-        (
-            "cellFeatures::isFeatureVertex(const label, const label)"
-        )   << "Illegal edge labels : edge0:" << edge0 << " edge1:" << edge1
+        FatalErrorInFunction
+            << "Illegal edge labels : edge0:" << edge0 << " edge1:" << edge1
             << abort(FatalError);
     }
 
@@ -468,11 +461,8 @@ bool Foam::cellFeatures::isFeaturePoint(const label edge0, const label edge1)
     {
         cosAngle = GREAT;   // satisfy compiler
 
-        FatalErrorIn
-        (
-            "cellFeatures::isFeaturePoint(const label, const label"
-            ", const label)"
-        )   << "Edges do not share common vertex. e0:" << e0
+        FatalErrorInFunction
+            << "Edges do not share common vertex. e0:" << e0
             << " e1:" << e1 << abort(FatalError);
     }
 
@@ -499,10 +489,8 @@ bool Foam::cellFeatures::isFeatureVertex(const label faceI, const label vertI)
      || (vertI >= mesh_.nPoints())
     )
     {
-        FatalErrorIn
-        (
-            "cellFeatures::isFeatureVertex(const label, const label)"
-        )   << "Illegal face " << faceI << " or vertex " << vertI
+        FatalErrorInFunction
+            << "Illegal face " << faceI << " or vertex " << vertI
             << abort(FatalError);
     }
 
@@ -533,10 +521,8 @@ bool Foam::cellFeatures::isFeatureVertex(const label faceI, const label vertI)
 
     if (edge1 == -1)
     {
-        FatalErrorIn
-        (
-            "cellFeatures::isFeatureVertex(const label, const label)"
-        )   << "Did not find two edges sharing vertex " << vertI
+        FatalErrorInFunction
+            << "Did not find two edges sharing vertex " << vertI
             << " on face " << faceI << " vertices:" << mesh_.faces()[faceI]
             << abort(FatalError);
     }
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C b/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
index 33ebf9c1617..c28a6fd3b48 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
@@ -57,7 +57,7 @@ void Foam::axesRotation::calcTransform
 
     if (mag(b) < SMALL)
     {
-        FatalErrorIn("axesRotation::calcTransform()")
+        FatalErrorInFunction
             << "axis1, axis2 appear co-linear: "
             << axis1 << ", " << axis2 << endl
             << abort(FatalError);
@@ -86,15 +86,7 @@ void Foam::axesRotation::calcTransform
         }
         default:
         {
-            FatalErrorIn
-            (
-                "axesRotation::calcTransform"
-                "("
-                    "const vector&,"
-                    "const vector&,"
-                    "const axisOrder&"
-                ")"
-            )
+            FatalErrorInFunction
                 << "Unhandled axes specifictation" << endl
                 << abort(FatalError);
 
@@ -294,10 +286,8 @@ void Foam::axesRotation::operator=(const dictionary& dict)
     }
     else
     {
-        FatalErrorIn
-        (
-            "axesRotation::operator=(const dictionary&) "
-        )   << "not entry of the type (e1, e2) or (e2, e3) or (e3, e1) "
+        FatalErrorInFunction
+            << "not entry of the type (e1, e2) or (e2, e3) or (e3, e1) "
             << "found "
             << exit(FatalError);
     }
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/coordinateRotationNew.C b/src/meshTools/coordinateSystems/coordinateRotation/coordinateRotationNew.C
index fe1a0ba00bd..02b111038be 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/coordinateRotationNew.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/coordinateRotationNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,13 +47,8 @@ Foam::autoPtr<Foam::coordinateRotation> Foam::coordinateRotation::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "coordinateRotation::New"
-            "("
-            "   const dictionary&, "
-            "   const objectRegistry& "
-            ")",
             dict
         )   << "Unknown coordinateRotation type "
             << rotType << nl << nl
@@ -86,12 +81,8 @@ Foam::autoPtr<Foam::coordinateRotation> Foam::coordinateRotation::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "coordinateRotation::New"
-            "("
-            "   const dictionary&, "
-            ")",
             dict
         )   << "Unknown coordinateRotation type "
             << rotType << nl << nl
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C b/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C
index 832c6dec2e2..a5427b5fa1e 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C
@@ -152,7 +152,7 @@ Foam::cylindrical::cylindrical(const dictionary& dict)
     origin_(),
     e3_()
 {
-    FatalErrorIn("cylindrical(const dictionary&)")
+    FatalErrorInFunction
         << " cylindrical can not be constructed from dictionary "
         << " use the construtctor : "
            "("
@@ -210,10 +210,7 @@ Foam::tmp<Foam::vectorField> Foam::cylindrical::transform
 {
     if (Rptr_->size() != vf.size())
     {
-        FatalErrorIn
-        (
-            "tmp<vectorField> cylindrical::transform(const vectorField&)"
-        )
+        FatalErrorInFunction
             << "vectorField st has different size to tensorField "
             << abort(FatalError);
     }
@@ -272,13 +269,7 @@ Foam::tmp<Foam::tensorField> Foam::cylindrical::transformTensor
 {
     if (Rptr_->size() != tf.size())
     {
-        FatalErrorIn
-        (
-            "tmp<tensorField> cylindrical::transformTensor"
-            "("
-                "const tensorField&"
-            ")"
-        )
+        FatalErrorInFunction
             << "tensorField st has different size to tensorField Tr"
             << abort(FatalError);
     }
@@ -305,14 +296,7 @@ Foam::tmp<Foam::tensorField> Foam::cylindrical::transformTensor
 {
     if (cellMap.size() != tf.size())
     {
-        FatalErrorIn
-        (
-            "tmp<tensorField> cylindrical::transformTensor"
-            "("
-                "const tensorField&, "
-                "const labelList&"
-            ")"
-        )
+        FatalErrorInFunction
             << "tensorField tf has different size to tensorField Tr"
             << abort(FatalError);
     }
@@ -338,7 +322,7 @@ Foam::tmp<Foam::symmTensorField> Foam::cylindrical::transformVector
 {
     if (Rptr_->size() != vf.size())
     {
-        FatalErrorIn("cylindrical::transformVector(const vectorField&)")
+        FatalErrorInFunction
             << "tensorField vf has different size to tensorField Tr"
             << abort(FatalError);
     }
diff --git a/src/meshTools/coordinateSystems/coordinateSystem.C b/src/meshTools/coordinateSystems/coordinateSystem.C
index a63423aab29..68aa5e06f90 100644
--- a/src/meshTools/coordinateSystems/coordinateSystem.C
+++ b/src/meshTools/coordinateSystems/coordinateSystem.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -147,11 +147,8 @@ Foam::coordinateSystem::coordinateSystem
 
         if (index < 0)
         {
-            FatalErrorIn
-            (
-                "coordinateSystem::coordinateSystem"
-                "(const objectRegistry&, const dictionary&):"
-            )   << "could not find coordinate system: " << key << nl
+            FatalErrorInFunction
+                << "could not find coordinate system: " << key << nl
                 << "available coordinate systems: " << lst.toc() << nl << nl
                 << exit(FatalError);
         }
diff --git a/src/meshTools/coordinateSystems/coordinateSystemNew.C b/src/meshTools/coordinateSystems/coordinateSystemNew.C
index 98c7ebbc57a..59f3e520cbf 100644
--- a/src/meshTools/coordinateSystems/coordinateSystemNew.C
+++ b/src/meshTools/coordinateSystems/coordinateSystemNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,9 +42,8 @@ Foam::autoPtr<Foam::coordinateSystem> Foam::coordinateSystem::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "coordinateSystem::New(const objectRegistry&, const dictionary&)",
             dict
         )   << "Unknown coordinateSystem type "
             << coordType << nl << nl
diff --git a/src/meshTools/edgeFaceCirculator/edgeFaceCirculatorI.H b/src/meshTools/edgeFaceCirculator/edgeFaceCirculatorI.H
index 6eac8946f64..a5c8a99c7dd 100644
--- a/src/meshTools/edgeFaceCirculator/edgeFaceCirculatorI.H
+++ b/src/meshTools/edgeFaceCirculator/edgeFaceCirculatorI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,10 +44,8 @@ void Foam::edgeFaceCirculator::setFace
 
     if (!isBoundaryEdge_ && !mesh_.isInternalFace(faceI))
     {
-        FatalErrorIn
-        (
-            "edgeFaceCirculator::setFace(const label, const label)"
-        )   << "Edge is not defined as boundary edge but still walked to"
+        FatalErrorInFunction
+            << "Edge is not defined as boundary edge but still walked to"
             << " boundary face:" << faceI << " on cell:" << cellI
             << abort(FatalError);
     }
@@ -79,7 +77,7 @@ void Foam::edgeFaceCirculator::otherFace(const label cellI)
         }
     }
 
-    FatalErrorIn("edgeFaceCirculator::otherFace(const label)")
+    FatalErrorInFunction
         << "Could not find next face stepping"
         << " through cell along edge." << endl
         << "face:" << faceLabel_ << " index in face:" << index_
@@ -197,10 +195,8 @@ bool Foam::edgeFaceCirculator::sameOrder(const label v0, const label v1) const
 
     if (fp != index_)
     {
-        FatalErrorIn
-        (
-            "edgeFaceCirculator::sameOrder(const label, const label) const"
-        )   << "v0:" << v1 << " and v1:" << v1
+        FatalErrorInFunction
+            << "v0:" << v1 << " and v1:" << v1
             << " not on position:" << index_ << " on face:" << faceLabel_
             << " verts:" << f << " or not consecutive." << abort(FatalError);
     }
@@ -255,7 +251,7 @@ void Foam::edgeFaceCirculator::setCanonical()
             {
                 const face& f = mesh_.faces()[faceLabel_];
 
-                FatalErrorIn("Foam::edgeFaceCirculator::setCanonical()")
+                FatalErrorInFunction
                     << "Walked " << i << " cells around edge "
                     << mesh_.points()[f[index_]]
                     << mesh_.points()[f.nextLabel(index_)]
@@ -289,7 +285,7 @@ void Foam::edgeFaceCirculator::setCanonical()
             {
                 const face& f = mesh_.faces()[faceLabel_];
 
-                FatalErrorIn("Foam::edgeFaceCirculator::setCanonical()")
+                FatalErrorInFunction
                     << "Reached boundary face " << faceLabel_
                     << " when walking around internal edge "
                     << mesh_.points()[f[index_]]
@@ -357,7 +353,7 @@ Foam::edgeFaceCirculator::operator++()
 {
     if (faceLabel_ == -1)
     {
-        FatalErrorIn("edgeFaceCirculator::operator++()")
+        FatalErrorInFunction
             << "Already reached end(). Cannot walk any further."
             << abort(FatalError);
     }
diff --git a/src/meshTools/indexedOctree/treeDataFace.C b/src/meshTools/indexedOctree/treeDataFace.C
index b6af6e42dd8..e80b5635863 100644
--- a/src/meshTools/indexedOctree/treeDataFace.C
+++ b/src/meshTools/indexedOctree/treeDataFace.C
@@ -202,11 +202,8 @@ Foam::volumeType Foam::treeDataFace::getVolumeType
 
     if (info.index() == -1)
     {
-        FatalErrorIn
-        (
-            "treeDataFace::getSampleType"
-            "(indexedOctree<treeDataFace>&, const point&)"
-        )   << "Could not find " << sample << " in octree."
+        FatalErrorInFunction
+            << "Could not find " << sample << " in octree."
             << abort(FatalError);
     }
 
diff --git a/src/meshTools/indexedOctree/treeDataPrimitivePatch.C b/src/meshTools/indexedOctree/treeDataPrimitivePatch.C
index 4e920f6525c..67fd126264d 100644
--- a/src/meshTools/indexedOctree/treeDataPrimitivePatch.C
+++ b/src/meshTools/indexedOctree/treeDataPrimitivePatch.C
@@ -171,11 +171,8 @@ Foam::volumeType Foam::treeDataPrimitivePatch<PatchType>::getVolumeType
 
     if (info.index() == -1)
     {
-        FatalErrorIn
-        (
-            "treeDataPrimitivePatch::getSampleType"
-            "(indexedOctree<treeDataPrimitivePatch>&, const point&)"
-        )   << "Could not find " << sample << " in octree."
+        FatalErrorInFunction
+            << "Could not find " << sample << " in octree."
             << abort(FatalError);
     }
 
@@ -588,16 +585,8 @@ bool Foam::treeDataPrimitivePatch<PatchType>::findSelfIntersectOp::operator()
 {
     if (edgeID_ == -1)
     {
-        FatalErrorIn
-        (
-            "findSelfIntersectOp::operator()\n"
-            "(\n"
-            "    const label index,\n"
-            "    const point& start,\n"
-            "    const point& end,\n"
-            "    point& intersectionPoint\n"
-            ") const"
-        )   << "EdgeID not set. Please set edgeID to the index of"
+        FatalErrorInFunction
+            << "EdgeID not set. Please set edgeID to the index of"
             << " the edge you are testing"
             << exit(FatalError);
     }
diff --git a/src/meshTools/indexedOctree/treeDataTriSurface.C b/src/meshTools/indexedOctree/treeDataTriSurface.C
index ef00434eb28..c8c69d7f85d 100644
--- a/src/meshTools/indexedOctree/treeDataTriSurface.C
+++ b/src/meshTools/indexedOctree/treeDataTriSurface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,11 +40,8 @@ Foam::volumeType Foam::treeDataPrimitivePatch<Foam::triSurface>::getVolumeType
 
     if (info.index() == -1)
     {
-        FatalErrorIn
-        (
-            "treeDataPrimitivePatch::getSampleType"
-            "(indexedOctree<treeDataPrimitivePatch>&, const point&)"
-        )   << "Could not find " << sample << " in octree."
+        FatalErrorInFunction
+            << "Could not find " << sample << " in octree."
             << abort(FatalError);
     }
 
@@ -72,7 +69,7 @@ Foam::volumeType Foam::treeDataPrimitivePatch<Foam::triSurface>::getVolumeType
     }
     else
     {
-        FatalErrorIn("treeDataPrimitivePatch<PatchType>::getVolumeType(..)")
+        FatalErrorInFunction
             << "problem" << abort(FatalError);
         return volumeType::UNKNOWN;
     }
diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C
index aa8fda17bd1..7cbb79b7b17 100644
--- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C
+++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C
@@ -208,11 +208,8 @@ void Foam::mappedPatchBase::findSamples
         {
             if (samplePatch_.size() && samplePatch_ != "none")
             {
-                FatalErrorIn
-                (
-                    "mappedPatchBase::findSamples(const pointField&,"
-                    " labelList&, labelList&, pointField&) const"
-                )   << "No need to supply a patch name when in "
+                FatalErrorInFunction
+                    << "No need to supply a patch name when in "
                     << sampleModeNames_[mode] << " mode." << exit(FatalError);
             }
 
@@ -251,11 +248,8 @@ void Foam::mappedPatchBase::findSamples
         {
             if (samplePatch_.size() && samplePatch_ != "none")
             {
-                FatalErrorIn
-                (
-                    "mappedPatchBase::findSamples(const pointField&,"
-                    " labelList&, labelList&, pointField&) const"
-                )   << "No need to supply a patch name when in "
+                FatalErrorInFunction
+                    << "No need to supply a patch name when in "
                     << sampleModeNames_[mode] << " mode." << exit(FatalError);
             }
 
@@ -426,11 +420,8 @@ void Foam::mappedPatchBase::findSamples
         {
             if (samplePatch().size() && samplePatch() != "none")
             {
-                FatalErrorIn
-                (
-                    "mappedPatchBase::findSamples(const pointField&,"
-                    " labelList&, labelList&, pointField&) const"
-                )   << "No need to supply a patch name when in "
+                FatalErrorInFunction
+                    << "No need to supply a patch name when in "
                     << sampleModeNames_[mode] << " mode." << exit(FatalError);
             }
 
@@ -474,7 +465,7 @@ void Foam::mappedPatchBase::findSamples
 
         default:
         {
-            FatalErrorIn("mappedPatchBase::findSamples(..)")
+            FatalErrorInFunction
                 << "problem." << abort(FatalError);
         }
     }
@@ -530,7 +521,7 @@ void Foam::mappedPatchBase::calcMapping() const
     static bool hasWarned = false;
     if (mapPtr_.valid())
     {
-        FatalErrorIn("mappedPatchBase::calcMapping() const")
+        FatalErrorInFunction
             << "Mapping already calculated" << exit(FatalError);
     }
 
@@ -556,17 +547,8 @@ void Foam::mappedPatchBase::calcMapping() const
 
     if (sampleMyself && coincident)
     {
-        WarningIn
-        (
-            "mappedPatchBase::mappedPatchBase\n"
-            "(\n"
-            "    const polyPatch& pp,\n"
-            "    const word& sampleRegion,\n"
-            "    const sampleMode mode,\n"
-            "    const word& samplePatch,\n"
-            "    const vector& offset\n"
-            ")\n"
-        )   << "Invalid offset " << d << endl
+        WarningInFunction
+            << "Invalid offset " << d << endl
             << "Offset is the vector added to the patch face centres to"
             << " find the patch face supplying the data." << endl
             << "Setting it to " << d
@@ -618,17 +600,8 @@ void Foam::mappedPatchBase::calcMapping() const
         {
             if (!hasWarned)
             {
-                WarningIn
-                (
-                    "mappedPatchBase::mappedPatchBase\n"
-                    "(\n"
-                    "    const polyPatch& pp,\n"
-                    "    const word& sampleRegion,\n"
-                    "    const sampleMode mode,\n"
-                    "    const word& samplePatch,\n"
-                    "    const vector& offset\n"
-                    ")\n"
-                )   << "Did not find " << nNotFound
+                WarningInFunction
+                    << "Did not find " << nNotFound
                     << " out of " << sampleProcs.size() << " total samples."
                     << " Sampling these on owner cell centre instead." << endl
                     << "On patch " << patch_.name()
@@ -772,7 +745,7 @@ void Foam::mappedPatchBase::calcMapping() const
                 }
                 else
                 {
-                    FatalErrorIn("mappedPatchBase::calcMapping() const")
+                    FatalErrorInFunction
                         << "On patch " << patch_.name()
                         << " patchface " << faceI
                         << " is assigned to more than once."
@@ -784,7 +757,7 @@ void Foam::mappedPatchBase::calcMapping() const
         {
             if (used[faceI] == 0)
             {
-                FatalErrorIn("mappedPatchBase::calcMapping() const")
+                FatalErrorInFunction
                     << "On patch " << patch_.name()
                     << " patchface " << faceI
                     << " is never assigned to."
@@ -831,7 +804,7 @@ void Foam::mappedPatchBase::calcAMI() const
 {
     if (AMIPtr_.valid())
     {
-        FatalErrorIn("mappedPatchBase::calcAMI() const")
+        FatalErrorInFunction
             << "AMI already calculated" << exit(FatalError);
     }
 
@@ -914,10 +887,8 @@ Foam::tmp<Foam::pointField> Foam::mappedPatchBase::readListOrField
                 is >> static_cast<List<vector>&>(fld);
                 if (fld.size() != size)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "mappedPatchBase::readListOrField"
-                        "(const word& keyword, const dictionary&, const label)",
                         dict
                     )   << "size " << fld.size()
                         << " is not equal to the given value of " << size
@@ -926,10 +897,8 @@ Foam::tmp<Foam::pointField> Foam::mappedPatchBase::readListOrField
             }
             else
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "mappedPatchBase::readListOrField"
-                    "(const word& keyword, const dictionary&, const label)",
                     dict
                 )   << "expected keyword 'uniform' or 'nonuniform', found "
                     << firstToken.wordToken()
@@ -940,10 +909,8 @@ Foam::tmp<Foam::pointField> Foam::mappedPatchBase::readListOrField
         {
             if (is.version() == 2.0)
             {
-                IOWarningIn
+                IOWarningInFunction
                 (
-                    "mappedPatchBase::readListOrField"
-                    "(const word& keyword, const dictionary&, const label)",
                     dict
                 )   << "expected keyword 'uniform' or 'nonuniform', "
                        "assuming List format for backwards compatibility."
@@ -1135,13 +1102,8 @@ Foam::mappedPatchBase::mappedPatchBase
     }
     else if (mode_ != NEARESTPATCHFACE && mode_ != NEARESTPATCHFACEAMI)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "mappedPatchBase::mappedPatchBase\n"
-            "(\n"
-            "    const polyPatch&,\n"
-            "    const dictionary&\n"
-            ")\n",
             dict
         )   << "Please supply the offsetMode as one of "
             << NamedEnum<offsetMode, 3>::words()
@@ -1175,14 +1137,8 @@ Foam::mappedPatchBase::mappedPatchBase
 {
     if (mode != NEARESTPATCHFACE && mode != NEARESTPATCHFACEAMI)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "mappedPatchBase::mappedPatchBase\n"
-            "(\n"
-            "    const polyPatch&,\n"
-            "    const sampleMode,\n"
-            "    const dictionary&\n"
-            ")\n",
             dict
         )   << "Construct from sampleMode and dictionary only applicable for "
             << " collocated patches in modes "
@@ -1293,7 +1249,7 @@ const Foam::polyPatch& Foam::mappedPatchBase::samplePolyPatch() const
 
     if (patchI == -1)
     {
-        FatalErrorIn("mappedPatchBase::samplePolyPatch()")
+        FatalErrorInFunction
             << "Cannot find patch " << samplePatch()
             << " in region " << sampleRegion_ << endl
             << "Valid patches are " << nbrMesh.boundaryMesh().names()
@@ -1418,7 +1374,7 @@ Foam::pointIndexHit Foam::mappedPatchBase::facePoint
 
         default:
         {
-            FatalErrorIn("mappedPatchBase::facePoint()")
+            FatalErrorInFunction
                 << "problem" << abort(FatalError);
             return pointIndexHit();
         }
diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H
index 8133a9d6923..fc392dfaaf2 100644
--- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H
+++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,7 +36,7 @@ inline const Foam::word& Foam::mappedPatchBase::sampleRegion() const
     {
         if (!coupleGroup_.valid())
         {
-            FatalErrorIn("mappedPatchBase::sampleRegion()")
+            FatalErrorInFunction
                 << "Supply either a regionName or a coupleGroup"
                 << " for patch " << patch_.name()
                 << " in region " << patch_.boundaryMesh().mesh().name()
@@ -62,7 +62,7 @@ inline const Foam::word& Foam::mappedPatchBase::samplePatch() const
     {
         if (!coupleGroup_.valid())
         {
-            FatalErrorIn("mappedPatchBase::samplePolyPatch()")
+            FatalErrorInFunction
                 << "Supply either a patchName or a coupleGroup"
                 << " for patch " << patch_.name()
                 << " in region " << patch_.boundaryMesh().mesh().name()
@@ -115,7 +115,7 @@ inline Foam::label Foam::mappedPatchBase::sampleSize() const
         }
         default:
         {
-            FatalErrorIn("mappedPatchBase::sampleSize()")
+            FatalErrorInFunction
                 << "problem." << abort(FatalError);
             return -1;
         }
diff --git a/src/meshTools/meshSearch/meshSearch.C b/src/meshTools/meshSearch/meshSearch.C
index 2d9e1c2ea11..ac56d0474dd 100644
--- a/src/meshTools/meshSearch/meshSearch.C
+++ b/src/meshTools/meshSearch/meshSearch.C
@@ -146,10 +146,8 @@ Foam::label Foam::meshSearch::findNearestCellWalk
 {
     if (seedCellI < 0)
     {
-        FatalErrorIn
-        (
-            "meshSearch::findNearestCellWalk(const point&, const label)"
-        )   << "illegal seedCell:" << seedCellI << exit(FatalError);
+        FatalErrorInFunction
+            << "illegal seedCell:" << seedCellI << exit(FatalError);
     }
 
     // Walk in direction of face that decreases distance
@@ -245,10 +243,8 @@ Foam::label Foam::meshSearch::findNearestFaceWalk
 {
     if (seedFaceI < 0)
     {
-        FatalErrorIn
-        (
-            "meshSearch::findNearestFaceWalk(const point&, const label)"
-        )   << "illegal seedFace:" << seedFaceI << exit(FatalError);
+        FatalErrorInFunction
+            << "illegal seedFace:" << seedFaceI << exit(FatalError);
     }
 
     const vectorField& centres = mesh_.faceCentres();
@@ -335,10 +331,8 @@ Foam::label Foam::meshSearch::findCellWalk
 {
     if (seedCellI < 0)
     {
-        FatalErrorIn
-        (
-            "meshSearch::findCellWalk(const point&, const label)"
-        )   << "illegal seedCell:" << seedCellI << exit(FatalError);
+        FatalErrorInFunction
+            << "illegal seedCell:" << seedCellI << exit(FatalError);
     }
 
     if (mesh_.pointInCell(location, seedCellI, cellDecompMode_))
@@ -408,11 +402,8 @@ Foam::label Foam::meshSearch::findNearestBoundaryFaceWalk
 {
     if (seedFaceI < 0)
     {
-        FatalErrorIn
-        (
-            "meshSearch::findNearestBoundaryFaceWalk"
-            "(const point&, const label)"
-        )   << "illegal seedFace:" << seedFaceI << exit(FatalError);
+        FatalErrorInFunction
+            << "illegal seedFace:" << seedFaceI << exit(FatalError);
     }
 
     // Start off from seedFaceI
diff --git a/src/meshTools/meshTools/meshTools.C b/src/meshTools/meshTools/meshTools.C
index 5c98fe087bc..01b726586e7 100644
--- a/src/meshTools/meshTools/meshTools.C
+++ b/src/meshTools/meshTools/meshTools.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -82,10 +82,8 @@ Foam::vectorField Foam::meshTools::calcBoxPointNormals(const primitivePatch& pp)
         }
         else
         {
-            WarningIn
-            (
-                "Foam::meshTools::calcBoxPointNormals(const primitivePatch& pp)"
-            )   << "Average point normal not visible for point:"
+            WarningInFunction
+                << "Average point normal not visible for point:"
                 << pp.meshPoints()[pointI] << endl;
 
             label visOctant =
@@ -176,11 +174,8 @@ Foam::vectorField Foam::meshTools::calcBoxPointNormals(const primitivePatch& pp)
             {
                 pn[pointI] = vector::zero;
 
-                WarningIn
-                (
-                    "Foam::meshTools::calcBoxPointNormals"
-                    "(const primitivePatch& pp)"
-                )   << "No visible octant for point:" << pp.meshPoints()[pointI]
+                WarningInFunction
+                    << "No visible octant for point:" << pp.meshPoints()[pointI]
                     << " cooord:" << pp.points()[pp.meshPoints()[pointI]] << nl
                     << "Normal set to " << pn[pointI] << endl;
             }
@@ -412,11 +407,8 @@ Foam::label Foam::meshTools::getSharedEdge
             }
         }
     }
-    FatalErrorIn
-    (
-        "meshTools::getSharedEdge(const primitiveMesh&, const label"
-        ", const label)"
-    )   << "Faces " << f0 << " and " << f1 << " do not share an edge"
+    FatalErrorInFunction
+        << "Faces " << f0 << " and " << f1 << " do not share an edge"
         << abort(FatalError);
 
     return -1;
@@ -451,11 +443,8 @@ Foam::label Foam::meshTools::getSharedFace
     }
 
 
-    FatalErrorIn
-    (
-        "meshTools::getSharedFace(const primitiveMesh&, const label"
-        ", const label)"
-    )   << "No common face for"
+    FatalErrorInFunction
+        << "No common face for"
         << "  cell0I:" << cell0I << "  faces:" << cFaces
         << "  cell1I:" << cell1I << "  faces:"
         << mesh.cells()[cell1I]
@@ -501,11 +490,8 @@ void Foam::meshTools::getEdgeFaces
 
     if ((face0 == -1) || (face1 == -1))
     {
-        FatalErrorIn
-        (
-            "meshTools::getEdgeFaces(const primitiveMesh&, const label"
-            ", const label, label&, label&"
-        )   << "Can not find faces using edge " << mesh.edges()[edgeI]
+        FatalErrorInFunction
+            << "Can not find faces using edge " << mesh.edges()[edgeI]
             << " on cell " << cellI << abort(FatalError);
     }
 }
@@ -535,11 +521,8 @@ Foam::label Foam::meshTools::otherEdge
         }
     }
 
-    FatalErrorIn
-    (
-        "meshTools::otherEdge(const primitiveMesh&, const labelList&"
-        ", const label, const label)"
-    )   << "Can not find edge in "
+    FatalErrorInFunction
+        << "Can not find edge in "
         << UIndirectList<edge>(mesh.edges(), edgeLabels)()
         << " connected to edge "
         << thisEdgeI << " with vertices " << mesh.edges()[thisEdgeI]
@@ -584,11 +567,8 @@ Foam::label Foam::meshTools::otherCell
 {
     if (!mesh.isInternalFace(faceI))
     {
-        FatalErrorIn
-        (
-            "meshTools::otherCell(const primitiveMesh&, const label"
-            ", const label)"
-        )   << "Face " << faceI << " is not internal"
+        FatalErrorInFunction
+            << "Face " << faceI << " is not internal"
             << abort(FatalError);
     }
 
@@ -774,10 +754,8 @@ Foam::vector Foam::meshTools::edgeToCutDir
 {
     if (!hexMatcher().isA(mesh, cellI))
     {
-        FatalErrorIn
-        (
-            "Foam::meshTools::getCutDir(const label, const label)"
-        )   << "Not a hex : cell:" << cellI << abort(FatalError);
+        FatalErrorInFunction
+            << "Not a hex : cell:" << cellI << abort(FatalError);
     }
 
 
@@ -824,10 +802,8 @@ Foam::label Foam::meshTools::cutDirToEdge
 {
     if (!hexMatcher().isA(mesh, cellI))
     {
-        FatalErrorIn
-        (
-            "Foam::meshTools::getCutDir(const label, const vector&)"
-        )   << "Not a hex : cell:" << cellI << abort(FatalError);
+        FatalErrorInFunction
+            << "Not a hex : cell:" << cellI << abort(FatalError);
     }
 
     const labelList& cEdges = mesh.cellEdges()[cellI];
@@ -871,10 +847,8 @@ Foam::label Foam::meshTools::cutDirToEdge
     {
         if (!doneEdges.found(cEdges[cEdgeI]))
         {
-            FatalErrorIn
-            (
-                "meshTools::cutDirToEdge(const label, const vector&)"
-            )   << "Cell:" << cellI << " edges:" << cEdges << endl
+            FatalErrorInFunction
+                << "Cell:" << cellI << " edges:" << cEdges << endl
                 << "Edge:" << cEdges[cEdgeI] << " not yet handled"
                 << abort(FatalError);
         }
@@ -882,10 +856,8 @@ Foam::label Foam::meshTools::cutDirToEdge
 
     if (maxEdgeI == -1)
     {
-        FatalErrorIn
-        (
-            "meshTools::cutDirToEdge(const label, const vector&)"
-        )   << "Problem : did not find edge aligned with " << cutDir
+        FatalErrorInFunction
+            << "Problem : did not find edge aligned with " << cutDir
             << " on cell " << cellI << abort(FatalError);
     }
 
diff --git a/src/meshTools/polyMeshZipUpCells/polyMeshZipUpCells.C b/src/meshTools/polyMeshZipUpCells/polyMeshZipUpCells.C
index a1256b0d6f6..d1edb53ad42 100644
--- a/src/meshTools/polyMeshZipUpCells/polyMeshZipUpCells.C
+++ b/src/meshTools/polyMeshZipUpCells/polyMeshZipUpCells.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -117,7 +117,7 @@ bool Foam::polyMeshZipUpCells(polyMesh& mesh)
                 }
                 else if (edgeUsage[edgeI] != 2)
                 {
-                    WarningIn("void polyMeshZipUpCells(polyMesh& mesh)")
+                    WarningInFunction
                         << "edge " << cellEdges[edgeI] << " in cell " << cellI
                         << " used " << edgeUsage[edgeI] << " times. " << nl
                         << "Should be 1 or 2 - serious error "
@@ -494,7 +494,7 @@ bool Foam::polyMeshZipUpCells(polyMesh& mesh)
                     {
                         if (orderedEdge[checkI] == orderedEdge[checkJ])
                         {
-                            WarningIn("void polyMeshZipUpCells(polyMesh& mesh)")
+                            WarningInFunction
                                 << "Duplicate point found in edge to insert. "
                                 << nl << "Point: " << orderedEdge[checkI]
                                 << " edge: " << orderedEdge << endl;
@@ -688,13 +688,7 @@ bool Foam::polyMeshZipUpCells(polyMesh& mesh)
                                 {
                                     if (newFace[checkI] == newFace[checkJ])
                                     {
-                                        WarningIn
-                                        (
-                                            "void polyMeshZipUpCells"
-                                            "("
-                                                "polyMesh& mesh"
-                                            ")"
-                                        )
+                                        WarningInFunction
                                             << "Duplicate point found "
                                             << "in the new face. " << nl
                                             << "Point: "
@@ -729,7 +723,7 @@ bool Foam::polyMeshZipUpCells(polyMesh& mesh)
             labelList toc(problemCells.toc());
             sort(toc);
 
-            FatalErrorIn("void polyMeshZipUpCells(polyMesh& mesh)")
+            FatalErrorInFunction
                 << "Found " << problemCells.size() << " problem cells." << nl
                 << "Cells: " << toc
                 << abort(FatalError);
@@ -781,8 +775,7 @@ bool Foam::polyMeshZipUpCells(polyMesh& mesh)
 
     if (nChangedFacesInMesh > 0)
     {
-        FatalErrorIn("void polyMeshZipUpCells(polyMesh& mesh)")
-            << "cell zip-up failed after 100 cycles.  Probable problem "
+        FatalErrorInFunction
             << "with the original mesh"
             << abort(FatalError);
     }
diff --git a/src/meshTools/primitiveMeshGeometry/primitiveMeshGeometry.C b/src/meshTools/primitiveMeshGeometry/primitiveMeshGeometry.C
index de6cd25d3ac..6f6f23b75cf 100644
--- a/src/meshTools/primitiveMeshGeometry/primitiveMeshGeometry.C
+++ b/src/meshTools/primitiveMeshGeometry/primitiveMeshGeometry.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -318,12 +318,8 @@ bool Foam::primitiveMeshGeometry::checkFaceDotProduct
                     // Non-orthogonality greater than 90 deg
                     if (report)
                     {
-                        WarningIn
-                        (
-                            "primitiveMeshGeometry::checkFaceDotProduct"
-                            "(const bool, const scalar, const labelList&"
-                            ", labelHashSet*)"
-                        )   << "Severe non-orthogonality detected for face "
+                        WarningInFunction
+                            << "Severe non-orthogonality detected for face "
                             << faceI
                             << " between cells " << own[faceI] << " and "
                             << nei[faceI]
@@ -383,11 +379,8 @@ bool Foam::primitiveMeshGeometry::checkFaceDotProduct
     {
         if (report)
         {
-            SeriousErrorIn
-            (
-                "primitiveMeshGeometry::checkFaceDotProduct"
-                "(const bool, const scalar, const labelList&, labelHashSet*)"
-            )   << "Error in non-orthogonality detected" << endl;
+            SeriousErrorInFunction
+                << "Error in non-orthogonality detected" << endl;
         }
 
         return true;
@@ -497,12 +490,8 @@ bool Foam::primitiveMeshGeometry::checkFacePyramids
     {
         if (report)
         {
-            SeriousErrorIn
-            (
-                "primitiveMeshGeometry::checkFacePyramids("
-                "const bool, const scalar, const pointField&"
-                ", const labelList&, labelHashSet*)"
-            )   << "Error in face pyramids: faces pointing the wrong way!"
+            SeriousErrorInFunction
+                << "Error in face pyramids: faces pointing the wrong way!"
                 << endl;
         }
 
@@ -638,11 +627,7 @@ bool Foam::primitiveMeshGeometry::checkFaceSkewness
     {
         if (report)
         {
-            WarningIn
-            (
-                "primitiveMeshGeometry::checkFaceSkewness"
-                "(const bool, const scalar, const labelList&, labelHashSet*)"
-            )   << "Large face skewness detected.  Max skewness = "
+            WarningInFunction
                 << 100*maxSkew
                 << " percent.\nThis may impair the quality of the result." << nl
                 << nWarnSkew << " highly skew faces detected."
@@ -725,11 +710,7 @@ bool Foam::primitiveMeshGeometry::checkFaceWeights
     {
         if (report)
         {
-            WarningIn
-            (
-                "primitiveMeshGeometry::checkFaceWeights"
-                "(const bool, const scalar, const labelList&, labelHashSet*)"
-            )   << "Small interpolation weight detected.  Min weight = "
+            WarningInFunction
                 << minWeight << '.' << nl
                 << nWarnWeight << " faces with small weights detected."
                 << endl;
@@ -767,12 +748,8 @@ bool Foam::primitiveMeshGeometry::checkFaceAngles
 {
     if (maxDeg < -SMALL || maxDeg > 180+SMALL)
     {
-        FatalErrorIn
-        (
-            "primitiveMeshGeometry::checkFaceAngles"
-            "(const bool, const scalar, const pointField&, const labelList&"
-            ", labelHashSet*)"
-        )   << "maxDeg should be [0..180] but is now " << maxDeg
+        FatalErrorInFunction
+            << "maxDeg should be [0..180] but is now " << maxDeg
             << abort(FatalError);
     }
 
@@ -874,12 +851,8 @@ bool Foam::primitiveMeshGeometry::checkFaceAngles
     {
         if (report)
         {
-            WarningIn
-            (
-                "primitiveMeshGeometry::checkFaceAngles"
-                "(const bool, const scalar,  const pointField&"
-                ", const labelList&, labelHashSet*)"
-            )   << nConcave  << " face points with severe concave angle (> "
+            WarningInFunction
+                << nConcave  << " face points with severe concave angle (> "
                 << maxDeg << " deg) found.\n"
                 << endl;
         }
@@ -910,12 +883,8 @@ bool Foam::primitiveMeshGeometry::checkFaceAngles
 //{
 //    if (warnFlatness < 0 || warnFlatness > 1)
 //    {
-//        FatalErrorIn
-//        (
-//            "primitiveMeshGeometry::checkFaceFlatness"
-//            "(const bool, const scalar, const pointField&"
-//            ", const labelList&, labelHashSet*)"
-//        )   << "warnFlatness should be [0..1] but is now " << warnFlatness
+//        FatalErrorInFunction
+//            << "warnFlatness should be [0..1] but is now " << warnFlatness
 //            << abort(FatalError);
 //    }
 //
@@ -1011,12 +980,8 @@ bool Foam::primitiveMeshGeometry::checkFaceAngles
 //    {
 //        if (report)
 //        {
-//            WarningIn
-//            (
-//                "primitiveMeshGeometry::checkFaceFlatness"
-//                "(const bool, const scalar, const pointField&"
-//                ", const labelList&, labelHashSet*)"
-//            )   << nWarped  << " faces with severe warpage (flatness < "
+//            WarningInFunction
+//                << nWarped  << " faces with severe warpage (flatness < "
 //                << warnFlatness << ") found.\n"
 //                << endl;
 //        }
@@ -1047,12 +1012,8 @@ bool Foam::primitiveMeshGeometry::checkFaceTwist
 {
     if (minTwist < -1-SMALL || minTwist > 1+SMALL)
     {
-        FatalErrorIn
-        (
-            "primitiveMeshGeometry::checkFaceTwist"
-            "(const bool, const scalar, const primitiveMesh&, const pointField&"
-            ", const labelList&, labelHashSet*)"
-        )   << "minTwist should be [-1..1] but is now " << minTwist
+        FatalErrorInFunction
+            << "minTwist should be [-1..1] but is now " << minTwist
             << abort(FatalError);
     }
 
@@ -1129,12 +1090,8 @@ bool Foam::primitiveMeshGeometry::checkFaceTwist
     {
         if (report)
         {
-            WarningIn
-            (
-                "primitiveMeshGeometry::checkFaceTwist"
-                "(const bool, const scalar, const primitiveMesh&"
-                ", const pointField&, const labelList&, labelHashSet*)"
-            )   << nWarped  << " faces with severe warpage "
+            WarningInFunction
+                << nWarped  << " faces with severe warpage "
                 << "(cosine of the angle between triangle normal and "
                 << "face normal < " << minTwist << ") found.\n"
                 << endl;
@@ -1195,12 +1152,8 @@ bool Foam::primitiveMeshGeometry::checkFaceArea
     {
         if (report)
         {
-            WarningIn
-            (
-                "primitiveMeshGeometry::checkFaceArea"
-                "(const bool, const scalar, const primitiveMesh&"
-                ", const pointField&, const labelList&, labelHashSet*)"
-            )   << nZeroArea  << " faces with area < " << minArea
+            WarningInFunction
+                << nZeroArea  << " faces with area < " << minArea
                 << " found.\n"
                 << endl;
         }
@@ -1300,13 +1253,8 @@ bool Foam::primitiveMeshGeometry::checkCellDeterminant
     {
         if (report)
         {
-            WarningIn
-            (
-                "primitiveMeshGeometry::checkCellDeterminant"
-                "(const bool, const scalar, const primitiveMesh&"
-                ", const pointField&, const labelList&, const labelList&"
-                ", labelHashSet*)"
-            )   << nWarnDet << " cells with determinant < " << warnDet
+            WarningInFunction
+                << nWarnDet << " cells with determinant < " << warnDet
                 << " found.\n"
                 << endl;
         }
diff --git a/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledBaseGAMGInterface.C b/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledBaseGAMGInterface.C
index 9066f4dfc7c..9663074005f 100644
--- a/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledBaseGAMGInterface.C
+++ b/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledBaseGAMGInterface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -191,19 +191,8 @@ Foam::regionCoupledBaseGAMGInterface::regionCoupledBaseGAMGInterface
         }
         else
         {
-            FatalErrorIn
-            (
-                "regionCoupledBaseGAMGInterface::"
-                "regionCoupledBaseGAMGInterface"
-                "("
-                "const label index,"
-                "const lduInterfacePtrsList& coarseInterfaces,"
-                "const lduInterface& fineInterface,"
-                "const labelField& localRestrictAddressing,"
-                "const labelField& neighbourRestrictAddressing,"
-                "const label fineLevelIndex"
-                ")"
-            )   << " GAMGAgglomeration was not found in the nbr mesh. "
+            FatalErrorInFunction
+                << " GAMGAgglomeration was not found in the nbr mesh. "
                 << " Check on the cacheAgglomeration flag in fvSolution"
                 << exit(FatalError);
         }
@@ -228,13 +217,6 @@ internalFieldTransfer
     const labelUList& iF
 ) const
 {
-//     WarningIn
-//     (
-//         "regionCoupledBaseGAMGInterface::internalFieldTransfer"
-//         "( const Pstream::commsTypes, const labelUList&)"
-//         " the internal field can not be transfered "
-//         " as the neighbFvPatch are in different meshes "
-//     );
     /*
     //const labelUList& nbrFaceCells = neighbPatch().faceCells();
 
diff --git a/src/meshTools/regionCoupled/patches/regionCoupledPolyPatch/regionCoupledBase.C b/src/meshTools/regionCoupled/patches/regionCoupledPolyPatch/regionCoupledBase.C
index a9cb60355de..482c7e65579 100644
--- a/src/meshTools/regionCoupled/patches/regionCoupledPolyPatch/regionCoupledBase.C
+++ b/src/meshTools/regionCoupled/patches/regionCoupledPolyPatch/regionCoupledBase.C
@@ -205,7 +205,7 @@ Foam::label Foam::regionCoupledBase::neighbPatchID() const
 
             if (nbrPatchID_ == -1)
             {
-                FatalErrorIn("cyclicPolyAMIPatch::neighbPatchID() const")
+                FatalErrorInFunction
                     << "Illegal neighbourPatch name " << nbrPatchName_
                     << nl << "Valid patch names are "
                     << mesh.boundaryMesh().names()
@@ -221,7 +221,7 @@ Foam::label Foam::regionCoupledBase::neighbPatchID() const
 
             if (nbrPatch.nbrPatchName() != patch_.name())
             {
-                WarningIn("regionCoupledBase::neighbPatchID() const")
+                WarningInFunction
                     << "Patch " << patch_.name()
                     << " specifies neighbour patch " << nbrPatchName()
                     << nl << " but that in return specifies "
@@ -283,10 +283,7 @@ const Foam::AMIPatchToPatchInterpolation& Foam::regionCoupledBase::AMI() const
 {
     if (!owner())
     {
-        FatalErrorIn
-        (
-            "const AMIPatchToPatchInterpolation& regionCoupledBase::AMI()"
-        )
+        FatalErrorInFunction
             << "AMI interpolator only available to owner patch"
             << abort(FatalError);
     }
diff --git a/src/meshTools/regionSplit/localPointRegion.C b/src/meshTools/regionSplit/localPointRegion.C
index bad9ca8d570..8a5d714a956 100644
--- a/src/meshTools/regionSplit/localPointRegion.C
+++ b/src/meshTools/regionSplit/localPointRegion.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -127,7 +127,7 @@ void Foam::localPointRegion::countPointRegions
 
             if (minRegion[faceI].empty())
             {
-                FatalErrorIn("localPointRegion::countPointRegions(..)")
+                FatalErrorInFunction
                     << "Face from candidateFace without minRegion set." << endl
                     << "Face:" << faceI << " fc:" << mesh.faceCentres()[faceI]
                     << " verts:" << f << abort(FatalError);
@@ -535,11 +535,8 @@ Foam::labelList Foam::localPointRegion::findDuplicateFaces
 
                 if (isDuplicate(f, otherF, true))
                 {
-                    FatalErrorIn
-                    (
-                        "findDuplicateFaces(const primitiveMesh&"
-                        ", const labelList&)"
-                    )   << "Face:" << bFaceI + mesh.nInternalFaces()
+                    FatalErrorInFunction
+                        << "Face:" << bFaceI + mesh.nInternalFaces()
                         << " has local points:" << f
                         << " which are in same order as face:"
                         << otherFaceI + mesh.nInternalFaces()
@@ -557,11 +554,8 @@ Foam::labelList Foam::localPointRegion::findDuplicateFaces
                      || duplicateFace[otherFaceI] != -1
                     )
                     {
-                        FatalErrorIn
-                        (
-                            "findDuplicateFaces(const primitiveMesh&"
-                            ", const labelList&)"
-                        )   << "One of two duplicate faces already marked"
+                        FatalErrorInFunction
+                            << "One of two duplicate faces already marked"
                             << " as duplicate." << nl
                             << "This means that three or more faces share"
                             << " the same points and this is illegal." << nl
@@ -623,10 +617,8 @@ Foam::List<Foam::labelPair> Foam::localPointRegion::findDuplicateFacePairs
              || (patch1 != -1 && isA<processorPolyPatch>(patches[patch1]))
             )
             {
-                FatalErrorIn
-                (
-                    "localPointRegion::findDuplicateFacePairs(const polyMesh&)"
-                )   << "One of two duplicate faces is on"
+                FatalErrorInFunction
+                    << "One of two duplicate faces is on"
                     << " processorPolyPatch."
                     << "This is not allowed." << nl
                     << "Face:" << meshFace0
diff --git a/src/meshTools/regionSplit/regionSplit.C b/src/meshTools/regionSplit/regionSplit.C
index 2583c2ddfe8..27b438cd679 100644
--- a/src/meshTools/regionSplit/regionSplit.C
+++ b/src/meshTools/regionSplit/regionSplit.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -64,11 +64,8 @@ void Foam::regionSplit::transferCoupledFaceRegion
         }
         else if (faceRegion[otherFaceI] != faceRegion[faceI])
         {
-            FatalErrorIn
-            (
-                  "regionSplit::transferCoupledFaceRegion"
-                  "(const label, const label, labelList&, labelList&) const"
-              )   << "Problem : coupled face " << faceI
+            FatalErrorInFunction
+                  << "Problem : coupled face " << faceI
                   << " on patch " << mesh().boundaryMesh().whichPatch(faceI)
                   << " has region " << faceRegion[faceI]
                   << " but coupled face " << otherFaceI
@@ -280,10 +277,8 @@ Foam::label Foam::regionSplit::calcLocalRegionSplit
             {
                 if (syncBlockedFace[faceI] != blockedFace[faceI])
                 {
-                    FatalErrorIn
-                    (
-                        "regionSplit::calcLocalRegionSplit(..)"
-                    )   << "Face " << faceI << " not synchronised. My value:"
+                    FatalErrorInFunction
+                        << "Face " << faceI << " not synchronised. My value:"
                         << blockedFace[faceI] << "  coupled value:"
                         << syncBlockedFace[faceI]
                         << abort(FatalError);
@@ -356,7 +351,7 @@ Foam::label Foam::regionSplit::calcLocalRegionSplit
         {
             if (cellRegion[cellI] < 0)
             {
-                FatalErrorIn("regionSplit::calcLocalRegionSplit(..)")
+                FatalErrorInFunction
                     << "cell:" << cellI << " region:" << cellRegion[cellI]
                     << abort(FatalError);
             }
@@ -366,7 +361,7 @@ Foam::label Foam::regionSplit::calcLocalRegionSplit
         {
             if (faceRegion[faceI] == -1)
             {
-                FatalErrorIn("regionSplit::calcLocalRegionSplit(..)")
+                FatalErrorInFunction
                     << "face:" << faceI << " region:" << faceRegion[faceI]
                     << abort(FatalError);
             }
diff --git a/src/meshTools/searchableSurface/searchableBox.C b/src/meshTools/searchableSurface/searchableBox.C
index 6005822e0b7..5eac58aa337 100644
--- a/src/meshTools/searchableSurface/searchableBox.C
+++ b/src/meshTools/searchableSurface/searchableBox.C
@@ -58,7 +58,7 @@ void Foam::searchableBox::projectOntoCoordPlane
     }
     else
     {
-        FatalErrorIn("searchableBox::projectOntoCoordPlane(..)")
+        FatalErrorInFunction
             << "Point on plane " << planePt
             << " is not on coordinate " << min()[dir]
             << " nor " << max()[dir] << abort(FatalError);
@@ -172,14 +172,8 @@ Foam::searchableBox::searchableBox
 {
     if (!contains(midpoint()))
     {
-        FatalErrorIn
-        (
-            "Foam::searchableBox::searchableBox\n"
-            "(\n"
-            "    const IOobject& io,\n"
-            "    const treeBoundBox& bb\n"
-            ")\n"
-        )   << "Illegal bounding box specification : "
+        FatalErrorInFunction
+            << "Illegal bounding box specification : "
             << static_cast<const treeBoundBox>(*this) << exit(FatalError);
     }
 
@@ -198,14 +192,8 @@ Foam::searchableBox::searchableBox
 {
     if (!contains(midpoint()))
     {
-        FatalErrorIn
-        (
-            "Foam::searchableBox::searchableBox\n"
-            "(\n"
-            "    const IOobject& io,\n"
-            "    const treeBoundBox& bb\n"
-            ")\n"
-        )   << "Illegal bounding box specification : "
+        FatalErrorInFunction
+            << "Illegal bounding box specification : "
             << static_cast<const treeBoundBox>(*this) << exit(FatalError);
     }
 
@@ -433,7 +421,7 @@ Foam::pointIndexHit Foam::searchableBox::findLine
 
         if (info.index() == -1)
         {
-            FatalErrorIn("searchableBox::findLine(const point&, const point&)")
+            FatalErrorInFunction
                 << "point " << info.rawPoint()
                 << " on segment " << start << end
                 << " should be on face of " << *this
diff --git a/src/meshTools/searchableSurface/searchableDisk.C b/src/meshTools/searchableSurface/searchableDisk.C
index a9c968aacd4..db8f92f0a99 100644
--- a/src/meshTools/searchableSurface/searchableDisk.C
+++ b/src/meshTools/searchableSurface/searchableDisk.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -317,11 +317,8 @@ void Foam::searchableDisk::getVolumeType
     List<volumeType>& volType
 ) const
 {
-    FatalErrorIn
-    (
-        "searchableDisk::getVolumeType(const pointField&"
-        ", List<volumeType>&) const"
-    )   << "Volume type not supported for disk."
+    FatalErrorInFunction
+        << "Volume type not supported for disk."
         << exit(FatalError);
 }
 
diff --git a/src/meshTools/searchableSurface/searchablePlane.C b/src/meshTools/searchableSurface/searchablePlane.C
index e6c9668b1f1..5f931758f91 100644
--- a/src/meshTools/searchableSurface/searchablePlane.C
+++ b/src/meshTools/searchableSurface/searchablePlane.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -256,11 +256,8 @@ void Foam::searchablePlane::getVolumeType
     List<volumeType>& volType
 ) const
 {
-    FatalErrorIn
-    (
-        "searchableCollection::getVolumeType(const pointField&"
-        ", List<volumeType>&) const"
-    )   << "Volume type not supported for plane."
+    FatalErrorInFunction
+        << "Volume type not supported for plane."
         << exit(FatalError);
 }
 
diff --git a/src/meshTools/searchableSurface/searchablePlate.C b/src/meshTools/searchableSurface/searchablePlate.C
index 163f282c504..a6ad5eeb6bc 100644
--- a/src/meshTools/searchableSurface/searchablePlate.C
+++ b/src/meshTools/searchableSurface/searchablePlate.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,7 +48,7 @@ Foam::direction Foam::searchablePlate::calcNormal(const point& span)
     {
         if (span[dir] < 0)
         {
-            FatalErrorIn("searchablePlate::calcNormal()")
+            FatalErrorInFunction
                 << "Span should have two positive and one zero entry. Now:"
                 << span << exit(FatalError);
         }
@@ -69,7 +69,7 @@ Foam::direction Foam::searchablePlate::calcNormal(const point& span)
 
     if (normalDir == 3)
     {
-        FatalErrorIn("searchablePlate::calcNormal()")
+        FatalErrorInFunction
             << "Span should have two positive and one zero entry. Now:"
             << span << exit(FatalError);
     }
@@ -190,7 +190,7 @@ Foam::pointIndexHit Foam::searchablePlate::findLine
 
         if (!bb.contains(info.hitPoint()))
         {
-            FatalErrorIn("searchablePlate::findLine(..)")
+            FatalErrorInFunction
                 << "bb:" << bb << endl
                 << "origin_:" << origin_ << endl
                 << "span_:" << span_ << endl
@@ -440,11 +440,8 @@ void Foam::searchablePlate::getVolumeType
     List<volumeType>& volType
 ) const
 {
-    FatalErrorIn
-    (
-        "searchableCollection::getVolumeType(const pointField&"
-        ", List<volumeType>&) const"
-    )   << "Volume type not supported for plate."
+    FatalErrorInFunction
+        << "Volume type not supported for plate."
         << exit(FatalError);
 }
 
diff --git a/src/meshTools/searchableSurface/searchableSurface.C b/src/meshTools/searchableSurface/searchableSurface.C
index 59151953846..0f5fe77decb 100644
--- a/src/meshTools/searchableSurface/searchableSurface.C
+++ b/src/meshTools/searchableSurface/searchableSurface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,11 +48,8 @@ Foam::autoPtr<Foam::searchableSurface> Foam::searchableSurface::New
 
     if (cstrIter == dictConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "searchableSurface::New(const word&,"
-            " const IOobject&, const dictionary&)"
-        )   << "Unknown searchableSurface type " << searchableSurfaceType
+        FatalErrorInFunction
+            << "Unknown searchableSurface type " << searchableSurfaceType
             << endl << endl
             << "Valid searchableSurface types : " << endl
             << dictConstructorTablePtr_->sortedToc()
diff --git a/src/meshTools/searchableSurface/searchableSurfaceCollection.C b/src/meshTools/searchableSurface/searchableSurfaceCollection.C
index e43d8319804..bbda5a487c3 100644
--- a/src/meshTools/searchableSurface/searchableSurfaceCollection.C
+++ b/src/meshTools/searchableSurface/searchableSurfaceCollection.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -218,11 +218,8 @@ Foam::searchableSurfaceCollection::searchableSurfaceCollection
             // if all indices offset by globalSize() of the local region...
             if (s.size() != s.globalSize())
             {
-                FatalErrorIn
-                (
-                    "searchableSurfaceCollection::searchableSurfaceCollection"
-                    "(const IOobject&, const dictionary&)"
-                )   << "Cannot use a distributed surface in a collection."
+                FatalErrorInFunction
+                    << "Cannot use a distributed surface in a collection."
                     << exit(FatalError);
             }
 
@@ -532,10 +529,8 @@ void Foam::searchableSurfaceCollection::findLine
 
                     if (s < 0 || s > 1)
                     {
-                        FatalErrorIn
-                        (
-                            "searchableSurfaceCollection::findLine(..)"
-                        )   << "point:" << info[pointI]
+                        FatalErrorInFunction
+                            << "point:" << info[pointI]
                             << " s:" << s
                             << " outside vector "
                             << " start:" << start[pointI]
@@ -702,11 +697,8 @@ void Foam::searchableSurfaceCollection::getVolumeType
     List<volumeType>& volType
 ) const
 {
-    FatalErrorIn
-    (
-        "searchableSurfaceCollection::getVolumeType(const pointField&"
-        ", List<volumeType>&) const"
-    )   << "Volume type not supported for collection."
+    FatalErrorInFunction
+        << "Volume type not supported for collection."
         << exit(FatalError);
 }
 
diff --git a/src/meshTools/searchableSurface/searchableSurfaces.C b/src/meshTools/searchableSurface/searchableSurfaces.C
index 49cbaf8ab08..7152bbd4ca5 100644
--- a/src/meshTools/searchableSurface/searchableSurfaces.C
+++ b/src/meshTools/searchableSurface/searchableSurfaces.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -136,11 +136,8 @@ Foam::searchableSurfaces::searchableSurfaces(const label size)
 //
 //                    if (index == -1)
 //                    {
-//                        FatalErrorIn
-//                        (
-//                            "searchableSurfaces::searchableSurfaces"
-//                            "( const IOobject&, const dictionary&)"
-//                        )   << "Unknown region name " << key
+//                        FatalErrorInFunction
+//                            << "Unknown region name " << key
 //                            << " for surface " << s.name() << endl
 //                            << "Valid region names are " << localNames
 //                            << exit(FatalError);
@@ -191,11 +188,8 @@ Foam::searchableSurfaces::searchableSurfaces
 
         if (!topDict.isDict(key))
         {
-            FatalErrorIn
-            (
-                "searchableSurfaces::searchableSurfaces"
-                "( const IOobject&, const dictionary&)"
-            )   << "Found non-dictionary entry " << iter()
+            FatalErrorInFunction
+                << "Found non-dictionary entry " << iter()
                 << " in top-level dictionary " << topDict
                 << exit(FatalError);
         }
@@ -264,11 +258,8 @@ Foam::searchableSurfaces::searchableSurfaces
 
                     if (index == -1)
                     {
-                        FatalErrorIn
-                        (
-                            "searchableSurfaces::searchableSurfaces"
-                            "( const IOobject&, const dictionary&)"
-                        )   << "Unknown region name " << key
+                        FatalErrorInFunction
+                            << "Unknown region name " << key
                             << " for surface " << s.name() << endl
                             << "Valid region names are " << localNames
                             << exit(FatalError);
@@ -926,10 +917,8 @@ const Foam::searchableSurface& Foam::searchableSurfaces::operator[]
 
     if (surfI < 0)
     {
-        FatalErrorIn
-        (
-            "searchableSurfaces::operator[](const word&) const"
-        )   << "Surface named " << surfName << " not found." << nl
+        FatalErrorInFunction
+            << "Surface named " << surfName << " not found." << nl
             << "Available surface names: " << names_ << endl
             << abort(FatalError);
     }
@@ -947,10 +936,8 @@ Foam::searchableSurface& Foam::searchableSurfaces::operator[]
 
     if (surfI < 0)
     {
-        FatalErrorIn
-        (
-            "searchableSurfaces::operator[](const word&)"
-        )   << "Surface named " << surfName << " not found." << nl
+        FatalErrorInFunction
+            << "Surface named " << surfName << " not found." << nl
             << "Available surface names: " << names_ << endl
             << abort(FatalError);
     }
diff --git a/src/meshTools/searchableSurface/searchableSurfacesQueries.C b/src/meshTools/searchableSurface/searchableSurfacesQueries.C
index 2073de3d767..aaa9ffbf019 100644
--- a/src/meshTools/searchableSurface/searchableSurfacesQueries.C
+++ b/src/meshTools/searchableSurface/searchableSurfacesQueries.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -810,7 +810,7 @@ void Foam::searchableSurfacesQueries::signedDistance
                     }
                     default:
                     {
-                        FatalErrorIn("signedDistance()")
+                        FatalErrorInFunction
                             << "getVolumeType failure,"
                             << " neither INSIDE or OUTSIDE."
                             << " point:" << surfPoints[i]
@@ -879,11 +879,8 @@ Foam::pointIndexHit Foam::searchableSurfacesQueries::facesIntersection
         }
         else
         {
-            FatalErrorIn
-            (
-                "searchableSurfacesQueries::facesIntersection"
-                "(const labelList&, const scalar, const scalar, const point&)"
-            )   << "Did not find point within distance "
+            FatalErrorInFunction
+                << "Did not find point within distance "
                 << initDistSqr << " of starting point " << start
                 << " on surface "
                 << allSurfaces[surfacesToTest[i]].IOobject::name()
diff --git a/src/meshTools/searchableSurface/triSurfaceMesh.C b/src/meshTools/searchableSurface/triSurfaceMesh.C
index 7b6b8ad6ad9..3aaeb06edf3 100644
--- a/src/meshTools/searchableSurface/triSurfaceMesh.C
+++ b/src/meshTools/searchableSurface/triSurfaceMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -89,11 +89,8 @@ addToRunTimeSelectionTable(searchableSurface, triSurfaceMesh, dict);
 //        return runTime.constant();
 //    }
 //
-//    FatalErrorIn
-//    (
-//        "searchableSurfaces::findRawInstance"
-//        "(const Time&, const fileName&, const word&)"
-//    )   << "Cannot find file \"" << name << "\" in directory "
+//    FatalErrorInFunction
+//        << "Cannot find file \"" << name << "\" in directory "
 //        << runTime.constant()/dir
 //        << exit(FatalError);
 //
@@ -110,10 +107,8 @@ const Foam::fileName& Foam::triSurfaceMesh::checkFile
 {
     if (fName.empty())
     {
-        FatalErrorIn
-        (
-            "triSurfaceMesh::checkFile(const fileName&, const fileName&)"
-        )   << "Cannot find triSurfaceMesh starting from "
+        FatalErrorInFunction
+            << "Cannot find triSurfaceMesh starting from "
             << objectName << exit(FatalError);
     }
     return fName;
diff --git a/src/meshTools/sets/cellSources/faceZoneToCell/faceZoneToCell.C b/src/meshTools/sets/cellSources/faceZoneToCell/faceZoneToCell.C
index cf0bf76e162..91573484337 100644
--- a/src/meshTools/sets/cellSources/faceZoneToCell/faceZoneToCell.C
+++ b/src/meshTools/sets/cellSources/faceZoneToCell/faceZoneToCell.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -100,7 +100,7 @@ void Foam::faceZoneToCell::combine(topoSet& set, const bool add) const
 
     if (!hasMatched)
     {
-        WarningIn("faceZoneToCell::combine(topoSet&, const bool)")
+        WarningInFunction
             << "Cannot find any faceZone named " << zoneName_ << endl
             << "Valid names are " << mesh_.faceZones().names() << endl;
     }
diff --git a/src/meshTools/sets/cellSources/fieldToCell/fieldToCell.C b/src/meshTools/sets/cellSources/fieldToCell/fieldToCell.C
index a8d22a6ff88..475ba3c313e 100644
--- a/src/meshTools/sets/cellSources/fieldToCell/fieldToCell.C
+++ b/src/meshTools/sets/cellSources/fieldToCell/fieldToCell.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -196,11 +196,8 @@ void Foam::fieldToCell::applyToSet
 
     if (!fieldObject.headerOk())
     {
-        WarningIn
-        (
-            "fieldToCell::applyToSet(const topoSetSource::setAction"
-            ", topoSet& set)"
-        )   << "Cannot read field " << fieldName_
+        WarningInFunction
+            << "Cannot read field " << fieldName_
             << " from time " << mesh().time().timeName() << endl;
     }
     else if (fieldObject.headerClassName() == "volScalarField")
@@ -227,11 +224,8 @@ void Foam::fieldToCell::applyToSet
     }
     else
     {
-        WarningIn
-        (
-            "fieldToCell::applyToSet(const topoSetSource::setAction"
-            ", topoSet& set)"
-        )   << "Cannot handle fields of type " << fieldObject.headerClassName()
+        WarningInFunction
+            << "Cannot handle fields of type " << fieldObject.headerClassName()
             << endl;
     }
 }
diff --git a/src/meshTools/sets/cellSources/regionToCell/regionToCell.C b/src/meshTools/sets/cellSources/regionToCell/regionToCell.C
index 96c3077cdea..f602bc239cb 100644
--- a/src/meshTools/sets/cellSources/regionToCell/regionToCell.C
+++ b/src/meshTools/sets/cellSources/regionToCell/regionToCell.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -131,11 +131,8 @@ Foam::boolList Foam::regionToCell::findRegions
 
         if (keepProcI == -1)
         {
-            FatalErrorIn
-            (
-                "outsideCellSelection::findRegions"
-                "(const bool, const regionSplit&)"
-            )   << "Did not find " << insidePoints_[i]
+            FatalErrorInFunction
+                << "Did not find " << insidePoints_[i]
                 << " in mesh." << " Mesh bounds are " << mesh_.bounds()
                 << exit(FatalError);
         }
diff --git a/src/meshTools/sets/cellSources/shapeToCell/shapeToCell.C b/src/meshTools/sets/cellSources/shapeToCell/shapeToCell.C
index 32662fb97f7..1fcc2495224 100644
--- a/src/meshTools/sets/cellSources/shapeToCell/shapeToCell.C
+++ b/src/meshTools/sets/cellSources/shapeToCell/shapeToCell.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -105,10 +105,8 @@ Foam::shapeToCell::shapeToCell
 {
     if (!cellModeller::lookup(type_) && (type_ != "splitHex"))
     {
-        FatalErrorIn
-        (
-            "shapeToCell::shapeToCell(const polyMesh&, const word&)"
-        )   << "Illegal cell type " << type_ << exit(FatalError);
+        FatalErrorInFunction
+            << "Illegal cell type " << type_ << exit(FatalError);
     }
 }
 
@@ -125,10 +123,8 @@ Foam::shapeToCell::shapeToCell
 {
     if (!cellModeller::lookup(type_) && (type_ != "splitHex"))
     {
-        FatalErrorIn
-        (
-            "shapeToCell::shapeToCell(const polyMesh&, const dictionary&)"
-        )   << "Illegal cell type " << type_ << exit(FatalError);
+        FatalErrorInFunction
+            << "Illegal cell type " << type_ << exit(FatalError);
     }
 }
 
@@ -145,10 +141,8 @@ Foam::shapeToCell::shapeToCell
 {
     if (!cellModeller::lookup(type_) && (type_ != "splitHex"))
     {
-        FatalErrorIn
-        (
-            "shapeToCell::shapeToCell(const polyMesh&, Istream&)"
-        )   << "Illegal cell type " << type_ << exit(FatalError);
+        FatalErrorInFunction
+            << "Illegal cell type " << type_ << exit(FatalError);
     }
 }
 
diff --git a/src/meshTools/sets/cellSources/surfaceToCell/surfaceToCell.C b/src/meshTools/sets/cellSources/surfaceToCell/surfaceToCell.C
index 1b9e7e76433..b08d4b4c8ae 100644
--- a/src/meshTools/sets/cellSources/surfaceToCell/surfaceToCell.C
+++ b/src/meshTools/sets/cellSources/surfaceToCell/surfaceToCell.C
@@ -194,7 +194,7 @@ void Foam::surfaceToCell::combine(topoSet& set, const bool add) const
             label cellI = queryMesh.findCell(outsidePoint, -1, false);
             if (returnReduce(cellI, maxOp<label>()) == -1)
             {
-                FatalErrorIn("surfaceToCell::combine(topoSet&, const bool)")
+                FatalErrorInFunction
                     << "outsidePoint " << outsidePoint
                     << " is not inside any cell"
                     << exit(FatalError);
@@ -332,10 +332,8 @@ void Foam::surfaceToCell::checkSettings() const
         )
     )
     {
-        FatalErrorIn
-        (
-            "surfaceToCell:checkSettings()"
-        )   << "Illegal include cell specification."
+        FatalErrorInFunction
+            << "Illegal include cell specification."
             << " Result would be either all or no cells." << endl
             << "Please set one of includeCut, includeInside, includeOutside"
             << " to true, set nearDistance to a value > 0"
@@ -345,10 +343,8 @@ void Foam::surfaceToCell::checkSettings() const
 
     if (useSurfaceOrientation_ && includeCut_)
     {
-        FatalErrorIn
-        (
-            "surfaceToCell:checkSettings()"
-        )   << "Illegal include cell specification."
+        FatalErrorInFunction
+            << "Illegal include cell specification."
             << " You cannot specify both 'useSurfaceOrientation'"
             << " and 'includeCut'"
             << " since 'includeCut' specifies a topological split"
diff --git a/src/meshTools/sets/cellSources/targetVolumeToCell/targetVolumeToCell.C b/src/meshTools/sets/cellSources/targetVolumeToCell/targetVolumeToCell.C
index 2f29a302162..10d54638390 100644
--- a/src/meshTools/sets/cellSources/targetVolumeToCell/targetVolumeToCell.C
+++ b/src/meshTools/sets/cellSources/targetVolumeToCell/targetVolumeToCell.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -163,7 +163,7 @@ void Foam::targetVolumeToCell::combine(topoSet& set, const bool add) const
         // Check that maxPoint indeed selects all cells
         if (maxCells != nTotCells)
         {
-            WarningIn("targetVolumeToCell::combine(topoSet&, const bool) const")
+            WarningInFunction
                 << "Plane " << plane(points[maxPointI], n_)
                 << " selects " << maxCells
                 << " cells instead of all " << nTotCells
@@ -241,7 +241,7 @@ void Foam::targetVolumeToCell::combine(topoSet& set, const bool add) const
         }
         else
         {
-            WarningIn("targetVolumeToCell::combine(topoSet&, const bool) const")
+            WarningInFunction
                 << "Did not converge onto plane. " << nl
                 << "high plane:"
                 << plane(high*n_, n_)
diff --git a/src/meshTools/sets/cellSources/zoneToCell/zoneToCell.C b/src/meshTools/sets/cellSources/zoneToCell/zoneToCell.C
index 291fb6bdb2c..56ed36a1726 100644
--- a/src/meshTools/sets/cellSources/zoneToCell/zoneToCell.C
+++ b/src/meshTools/sets/cellSources/zoneToCell/zoneToCell.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,7 +83,7 @@ void Foam::zoneToCell::combine(topoSet& set, const bool add) const
 
     if (!hasMatched)
     {
-        WarningIn("zoneToCell::combine(topoSet&, const bool)")
+        WarningInFunction
             << "Cannot find any cellZone named " << zoneName_ << endl
             << "Valid names are " << mesh_.cellZones().names() << endl;
     }
diff --git a/src/meshTools/sets/cellZoneSources/setToCellZone/setToCellZone.C b/src/meshTools/sets/cellZoneSources/setToCellZone/setToCellZone.C
index f0c0e646edc..7fc2aa1a3cc 100644
--- a/src/meshTools/sets/cellZoneSources/setToCellZone/setToCellZone.C
+++ b/src/meshTools/sets/cellZoneSources/setToCellZone/setToCellZone.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -105,11 +105,8 @@ void Foam::setToCellZone::applyToSet
 {
     if (!isA<cellZoneSet>(set))
     {
-        WarningIn
-        (
-            "setToCellZone::applyToSet(const topoSetSource::setAction"
-            ", topoSet"
-        )   << "Operation only allowed on a cellZoneSet." << endl;
+        WarningInFunction
+            << "Operation only allowed on a cellZoneSet." << endl;
     }
     else
     {
diff --git a/src/meshTools/sets/faceSources/normalToFace/normalToFace.C b/src/meshTools/sets/faceSources/normalToFace/normalToFace.C
index 4d40c128db3..eb189120862 100644
--- a/src/meshTools/sets/faceSources/normalToFace/normalToFace.C
+++ b/src/meshTools/sets/faceSources/normalToFace/normalToFace.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,11 +62,8 @@ void Foam::normalToFace::setNormal()
 
     if (tol_ < -1 || tol_ > 1)
     {
-        FatalErrorIn
-        (
-            "normalToFace::normalToFace(const polyMesh&, const vector&"
-            ", const scalar)"
-        )   << "tolerance not within range -1..1 : " << tol_
+        FatalErrorInFunction
+            << "tolerance not within range -1..1 : " << tol_
             << exit(FatalError);
     }
 }
diff --git a/src/meshTools/sets/faceSources/patchToFace/patchToFace.C b/src/meshTools/sets/faceSources/patchToFace/patchToFace.C
index 4dec4263038..e4c36cbc28d 100644
--- a/src/meshTools/sets/faceSources/patchToFace/patchToFace.C
+++ b/src/meshTools/sets/faceSources/patchToFace/patchToFace.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,7 +83,7 @@ void Foam::patchToFace::combine(topoSet& set, const bool add) const
 
     if (patchIDs.empty())
     {
-        WarningIn("patchToFace::combine(topoSet&, const bool)")
+        WarningInFunction
             << "Cannot find any patch named " << patchName_ << endl
             << "Valid names are " << mesh_.boundaryMesh().names() << endl;
     }
diff --git a/src/meshTools/sets/faceSources/zoneToFace/zoneToFace.C b/src/meshTools/sets/faceSources/zoneToFace/zoneToFace.C
index 34704105fab..fa29739e75f 100644
--- a/src/meshTools/sets/faceSources/zoneToFace/zoneToFace.C
+++ b/src/meshTools/sets/faceSources/zoneToFace/zoneToFace.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,7 +83,7 @@ void Foam::zoneToFace::combine(topoSet& set, const bool add) const
 
     if (!hasMatched)
     {
-        WarningIn("zoneToFace::combine(topoSet&, const bool)")
+        WarningInFunction
             << "Cannot find any faceZone named " << zoneName_ << endl
             << "Valid names are " << mesh_.faceZones().names() << endl;
     }
diff --git a/src/meshTools/sets/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.C b/src/meshTools/sets/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.C
index dd0c9d425ab..e3f36bb25c1 100644
--- a/src/meshTools/sets/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.C
+++ b/src/meshTools/sets/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -105,11 +105,8 @@ void Foam::faceZoneToFaceZone::applyToSet
 {
     if (!isA<faceZoneSet>(set))
     {
-        WarningIn
-        (
-            "faceZoneToFaceZone::applyToSet(const topoSetSource::setAction"
-            ", topoSet"
-        )   << "Operation only allowed on a faceZoneSet." << endl;
+        WarningInFunction
+            << "Operation only allowed on a faceZoneSet." << endl;
     }
     else
     {
diff --git a/src/meshTools/sets/faceZoneSources/searchableSurfaceToFaceZone/searchableSurfaceToFaceZone.C b/src/meshTools/sets/faceZoneSources/searchableSurfaceToFaceZone/searchableSurfaceToFaceZone.C
index c9ce92f25b0..1015de9bd6b 100644
--- a/src/meshTools/sets/faceZoneSources/searchableSurfaceToFaceZone/searchableSurfaceToFaceZone.C
+++ b/src/meshTools/sets/faceZoneSources/searchableSurfaceToFaceZone/searchableSurfaceToFaceZone.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -101,12 +101,8 @@ void Foam::searchableSurfaceToFaceZone::applyToSet
 {
     if (!isA<faceZoneSet>(set))
     {
-        WarningIn
-        (
-            "searchableSurfaceToFaceZone::applyToSet"
-            "(const topoSetSource::setAction"
-            ", topoSet"
-        )   << "Operation only allowed on a faceZoneSet." << endl;
+        WarningInFunction
+            << "Operation only allowed on a faceZoneSet." << endl;
     }
     else
     {
diff --git a/src/meshTools/sets/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C b/src/meshTools/sets/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C
index e94a2bf6d0f..2f1ed95d793 100644
--- a/src/meshTools/sets/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C
+++ b/src/meshTools/sets/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -106,14 +106,8 @@ void Foam::setAndNormalToFaceZone::applyToSet
 {
     if (!isA<faceZoneSet>(set))
     {
-        WarningIn
-        (
-            "setAndNormalToFaceZone::applyToSet"
-            "("
-                "const topoSetSource::setAction, "
-                "topoSet&"
-            ")"
-        )   << "Operation only allowed on a faceZoneSet." << endl;
+        WarningInFunction
+            << "Operation only allowed on a faceZoneSet." << endl;
     }
     else
     {
diff --git a/src/meshTools/sets/faceZoneSources/setToFaceZone/setToFaceZone.C b/src/meshTools/sets/faceZoneSources/setToFaceZone/setToFaceZone.C
index add3a1dbae0..fc32253f96f 100644
--- a/src/meshTools/sets/faceZoneSources/setToFaceZone/setToFaceZone.C
+++ b/src/meshTools/sets/faceZoneSources/setToFaceZone/setToFaceZone.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -106,11 +106,8 @@ void Foam::setToFaceZone::applyToSet
 {
     if (!isA<faceZoneSet>(set))
     {
-        WarningIn
-        (
-            "setToFaceZone::applyToSet(const topoSetSource::setAction"
-            ", topoSet"
-        )   << "Operation only allowed on a faceZoneSet." << endl;
+        WarningInFunction
+            << "Operation only allowed on a faceZoneSet." << endl;
     }
     else
     {
diff --git a/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.C b/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.C
index d4699870a47..91bb90e39b4 100644
--- a/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.C
+++ b/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -111,11 +111,8 @@ void Foam::setsToFaceZone::applyToSet
 {
     if (!isA<faceZoneSet>(set))
     {
-        WarningIn
-        (
-            "setsToFaceZone::applyToSet(const topoSetSource::setAction"
-            ", topoSet"
-        )   << "Operation only allowed on a faceZoneSet." << endl;
+        WarningInFunction
+            << "Operation only allowed on a faceZoneSet." << endl;
     }
     else
     {
@@ -160,11 +157,8 @@ void Foam::setsToFaceZone::applyToSet
                         }
                         else
                         {
-                            WarningIn
-                            (
-                                "setsToFaceZone::applyToSet"
-                                "(const topoSetSource::setAction, topoSet)"
-                            )   << "One of owner or neighbour of internal face "
+                            WarningInFunction
+                                << "One of owner or neighbour of internal face "
                                 << faceI << " should be in cellSet "
                                 << cSet.name()
                                 << " to be able to determine orientation."
diff --git a/src/meshTools/sets/pointSources/surfaceToPoint/surfaceToPoint.C b/src/meshTools/sets/pointSources/surfaceToPoint/surfaceToPoint.C
index c7bd9743b27..7f0d0ed9f91 100644
--- a/src/meshTools/sets/pointSources/surfaceToPoint/surfaceToPoint.C
+++ b/src/meshTools/sets/pointSources/surfaceToPoint/surfaceToPoint.C
@@ -108,7 +108,7 @@ void Foam::surfaceToPoint::checkSettings() const
 {
     if (nearDist_ < 0 && !includeInside_ && !includeOutside_)
     {
-        FatalErrorIn("surfaceToPoint:checkSettings()")
+        FatalErrorInFunction
             << "Illegal point selection specification."
             << " Result would be either all or no points." << endl
             << "Please set one of includeInside or includeOutside"
diff --git a/src/meshTools/sets/pointSources/zoneToPoint/zoneToPoint.C b/src/meshTools/sets/pointSources/zoneToPoint/zoneToPoint.C
index bce531f8e5c..8e9f6209739 100644
--- a/src/meshTools/sets/pointSources/zoneToPoint/zoneToPoint.C
+++ b/src/meshTools/sets/pointSources/zoneToPoint/zoneToPoint.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,7 +83,7 @@ void Foam::zoneToPoint::combine(topoSet& set, const bool add) const
 
     if (!hasMatched)
     {
-        WarningIn("zoneToPoint::combine(topoSet&, const bool)")
+        WarningInFunction
             << "Cannot find any pointZone named " << zoneName_ << endl
             << "Valid names are " << mesh_.pointZones().names() << endl;
     }
diff --git a/src/meshTools/sets/pointZoneSources/setToPointZone/setToPointZone.C b/src/meshTools/sets/pointZoneSources/setToPointZone/setToPointZone.C
index 27d5209c46b..dd6316d01ad 100644
--- a/src/meshTools/sets/pointZoneSources/setToPointZone/setToPointZone.C
+++ b/src/meshTools/sets/pointZoneSources/setToPointZone/setToPointZone.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -105,11 +105,8 @@ void Foam::setToPointZone::applyToSet
 {
     if (!isA<pointZoneSet>(set))
     {
-        WarningIn
-        (
-            "setToPointZone::applyToSet(const topoSetSource::setAction"
-            ", topoSet"
-        )   << "Operation only allowed on a pointZoneSet." << endl;
+        WarningInFunction
+            << "Operation only allowed on a pointZoneSet." << endl;
     }
     else
     {
diff --git a/src/meshTools/sets/topoSetSource/topoSetSource.C b/src/meshTools/sets/topoSetSource/topoSetSource.C
index 809fbac46d2..25fce98506d 100644
--- a/src/meshTools/sets/topoSetSource/topoSetSource.C
+++ b/src/meshTools/sets/topoSetSource/topoSetSource.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -82,11 +82,8 @@ Foam::autoPtr<Foam::topoSetSource> Foam::topoSetSource::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "topoSetSource::New(const word&, "
-            "const polyMesh&, const dictionary&)"
-        )   << "Unknown topoSetSource type " << topoSetSourceType
+        FatalErrorInFunction
+            << "Unknown topoSetSource type " << topoSetSourceType
             << endl << endl
             << "Valid topoSetSource types : " << endl
             << wordConstructorTablePtr_->sortedToc()
@@ -109,11 +106,8 @@ Foam::autoPtr<Foam::topoSetSource> Foam::topoSetSource::New
 
     if (cstrIter == istreamConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "topoSetSource::New(const word&, "
-            "const polyMesh&, Istream&)"
-        )   << "Unknown topoSetSource type " << topoSetSourceType
+        FatalErrorInFunction
+            << "Unknown topoSetSource type " << topoSetSourceType
             << endl << endl
             << "Valid topoSetSource types : " << endl
             << istreamConstructorTablePtr_->sortedToc()
@@ -132,7 +126,7 @@ Foam::Istream& Foam::topoSetSource::checkIs(Istream& is)
     }
     else
     {
-        FatalErrorIn("cellToFace::cellToFace") << "Istream not good"
+        FatalErrorInFunction
             << exit(FatalError);
 
         return is;
diff --git a/src/meshTools/sets/topoSets/faceSet.C b/src/meshTools/sets/topoSets/faceSet.C
index ea1e32e6cf7..08dd1360d71 100644
--- a/src/meshTools/sets/topoSets/faceSet.C
+++ b/src/meshTools/sets/topoSets/faceSet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -133,7 +133,7 @@ void faceSet::sync(const polyMesh& mesh)
         }
         else if (found(faceI))
         {
-            FatalErrorIn("faceSet::sync(const polyMesh&)")
+            FatalErrorInFunction
                 << "Problem : syncing removed faces from set."
                 << abort(FatalError);
         }
diff --git a/src/meshTools/sets/topoSets/faceZoneSet.C b/src/meshTools/sets/topoSets/faceZoneSet.C
index 5b4849c1eff..0467956ef77 100644
--- a/src/meshTools/sets/topoSets/faceZoneSet.C
+++ b/src/meshTools/sets/topoSets/faceZoneSet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -206,7 +206,7 @@ void faceZoneSet::subset(const topoSet& set)
 
     if (nConflict > 0)
     {
-        WarningIn(" faceZoneSet::subset(const topoSet&)")
+        WarningInFunction
             << "subset : there are " << nConflict
             << " faces with different orientation in faceZonesSets "
             << name() << " and " << set.name() << endl;
@@ -257,7 +257,7 @@ void faceZoneSet::addSet(const topoSet& set)
 
     if (nConflict > 0)
     {
-        WarningIn("faceZoneSet::addSet(const topoSet&)")
+        WarningInFunction
             << "addSet : there are " << nConflict
             << " faces with different orientation in faceZonesSets "
             << name() << " and " << set.name() << endl;
@@ -309,7 +309,7 @@ void faceZoneSet::deleteSet(const topoSet& set)
 
     if (nConflict > 0)
     {
-        WarningIn("faceZoneSet::deleteSet(const topoSet&)")
+        WarningInFunction
             << "deleteSet : there are " << nConflict
             << " faces with different orientation in faceZonesSets "
             << name() << " and " << set.name() << endl;
diff --git a/src/meshTools/sets/topoSets/topoSet.C b/src/meshTools/sets/topoSets/topoSet.C
index 48f96eea007..ee6fe930e26 100644
--- a/src/meshTools/sets/topoSets/topoSet.C
+++ b/src/meshTools/sets/topoSets/topoSet.C
@@ -56,11 +56,8 @@ Foam::autoPtr<Foam::topoSet> Foam::topoSet::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "topoSet::New(const word&, "
-            "const polyMesh&, const word&, readOption, writeOption)"
-        )   << "Unknown set type " << setType
+        FatalErrorInFunction
+            << "Unknown set type " << setType
             << endl << endl
             << "Valid set types : " << endl
             << wordConstructorTablePtr_->sortedToc()
@@ -85,11 +82,8 @@ Foam::autoPtr<Foam::topoSet> Foam::topoSet::New
 
     if (cstrIter == sizeConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "topoSet::New(const word&, "
-            "const polyMesh&, const word&, const label, writeOption)"
-        )   << "Unknown set type " << setType
+        FatalErrorInFunction
+            << "Unknown set type " << setType
             << endl << endl
             << "Valid set types : " << endl
             << sizeConstructorTablePtr_->sortedToc()
@@ -114,11 +108,8 @@ Foam::autoPtr<Foam::topoSet> Foam::topoSet::New
 
     if (cstrIter == setConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "topoSet::New(const word&, "
-            "const polyMesh&, const word&, const topoSet&, writeOption)"
-        )   << "Unknown set type " << setType
+        FatalErrorInFunction
+            << "Unknown set type " << setType
             << endl << endl
             << "Valid set types : " << endl
             << setConstructorTablePtr_->sortedToc()
@@ -152,10 +143,8 @@ void Foam::topoSet::updateLabels(const labelList& map)
     {
         if ((iter.key() < 0) || (iter.key() > map.size()))
         {
-            FatalErrorIn
-            (
-                "topoSet::updateLabels(const labelList&, labelHashSet)"
-            )   << "Illegal content " << iter.key() << " of set:" << name()
+            FatalErrorInFunction
+                << "Illegal content " << iter.key() << " of set:" << name()
                 << " of type " << type() << endl
                 << "Value should be between 0 and " << map.size()-1
                 << abort(FatalError);
@@ -197,7 +186,7 @@ void Foam::topoSet::check(const label maxLabel)
     {
         if ((iter.key() < 0) || (iter.key() > maxLabel))
         {
-            FatalErrorIn("topoSet::check(const label)")
+            FatalErrorInFunction
                 << "Illegal content " << iter.key() << " of set:" << name()
                 << " of type " << type() << endl
                 << "Value should be between 0 and " << maxLabel
diff --git a/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.C b/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.C
index 3d66eb6b8b0..1e60d1cd27e 100644
--- a/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.C
+++ b/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,11 +70,8 @@ void Foam::booleanSurface::checkIncluded
 
         if (!usesIncluded)
         {
-            FatalErrorIn
-            (
-                "booleanSurface::checkIncluded(const intersectedSurface&"
-                ", const labelList&, const label)"
-            )   << "None of the faces reachable from face " << includedFace
+            FatalErrorInFunction
+                << "None of the faces reachable from face " << includedFace
                 << " connects to the intersection."
                 << exit(FatalError);
         }
@@ -114,11 +111,8 @@ Foam::label Foam::booleanSurface::findEdge
             return edgeLabels[edgeLabelI];
         }
     }
-    FatalErrorIn
-    (
-        "booleanSurface::findEdge(const edgeList&, const labelList&"
-        ", const edge&)"
-    )   << "Cannot find edge " << e << " in edges " << edgeLabels
+    FatalErrorInFunction
+        << "Cannot find edge " << e << " in edges " << edgeLabels
         << abort(FatalError);
 
     return -1;
@@ -213,12 +207,8 @@ void Foam::booleanSurface::propagateEdgeSide
 
     if (((eFaces.size() % 2) == 1) && (eFaces.size() != 1))
     {
-        FatalErrorIn
-        (
-            "booleanSurface::propagateEdgeSide(const triSurface&,"
-            "const label, const label, const label, const label,"
-            " labelList&)"
-        )   << "Don't know how to handle edges with odd number of faces"
+        FatalErrorInFunction
+            << "Don't know how to handle edges with odd number of faces"
             << endl
             << "edge:" << edgeI << " vertices:" << surf.edges()[edgeI]
             << " coming from face:" << prevFaceI
@@ -447,11 +437,8 @@ Foam::booleanSurface::booleanSurface
 
     if (cutSurf1FaceI == -1)
     {
-        FatalErrorIn
-        (
-           "booleanSurface(const triSurfaceSearch&"
-            ", const label, const triSurfaceSearch&, const label)"
-        )   << "Did not find face with label " << includeFace1
+        FatalErrorInFunction
+            << "Did not find face with label " << includeFace1
             << " in intersectedSurface."
             << exit(FatalError);
     }
@@ -466,11 +453,8 @@ Foam::booleanSurface::booleanSurface
     }
     if (cutSurf2FaceI == -1)
     {
-        FatalErrorIn
-        (
-           "booleanSurface(const triSurfaceSearch&"
-            ", const label, const triSurfaceSearch&, const label)"
-        )   << "Did not find face with label " << includeFace2
+        FatalErrorInFunction
+            << "Did not find face with label " << includeFace2
             << " in intersectedSurface."
             << exit(FatalError);
     }
@@ -727,7 +711,7 @@ Foam::booleanSurface::booleanSurface
 
                 if (eFaces.size() == 1)
                 {
-                    WarningIn("booleanSurface::booleanSurface")
+                    WarningInFunction
                         << "surf1 is open surface at edge " << edgeI
                         << " verts:" << surf1.edges()[edgeI]
                         << " connected to faces " << eFaces << endl;
@@ -743,7 +727,7 @@ Foam::booleanSurface::booleanSurface
 
                 if (eFaces.size() == 1)
                 {
-                    WarningIn("booleanSurface::booleanSurface")
+                    WarningInFunction
                         << "surf2 is open surface at edge " << edgeI
                         << " verts:" << surf2.edges()[edgeI]
                         << " connected to faces " << eFaces << endl;
@@ -1001,12 +985,8 @@ Foam::booleanSurface::booleanSurface
     {
         if (side[faceI] == UNVISITED)
         {
-            FatalErrorIn
-            (
-                "booleanSurface::booleanSurface"
-                "(const triSurfaceSearch&, const triSurfaceSearch&"
-                ", const label booleanOp)"
-            )   << "Face " << faceI << " has not been reached by walking from"
+            FatalErrorInFunction
+                << "Face " << faceI << " has not been reached by walking from"
                 << " nearest point " << minHit.rawPoint()
                 << " nearest face " << minFaceI << exit(FatalError);
         }
diff --git a/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.H b/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.H
index 4cb538f5cdc..76651191cea 100644
--- a/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.H
+++ b/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.H
@@ -218,7 +218,7 @@ public:
         {
             if (!from1(faceI))
             {
-                FatalErrorIn("booleanSurface::surf1Face(const label)")
+                FatalErrorInFunction
                     << "face " << faceI << " not from surface 1"
                     << abort(FatalError);
             }
@@ -229,7 +229,7 @@ public:
         {
             if (from1(faceI))
             {
-                FatalErrorIn("booleanSurface::surf2Face(const label)")
+                FatalErrorInFunction
                     << "face " << faceI << " not from surface 2"
                     << abort(FatalError);
             }
diff --git a/src/meshTools/triSurface/booleanOps/intersectedSurface/edgeSurface.H b/src/meshTools/triSurface/booleanOps/intersectedSurface/edgeSurface.H
index 3916f352d89..720e99c3d31 100644
--- a/src/meshTools/triSurface/booleanOps/intersectedSurface/edgeSurface.H
+++ b/src/meshTools/triSurface/booleanOps/intersectedSurface/edgeSurface.H
@@ -170,10 +170,8 @@ public:
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "edgeSurface::parentEdge(const label edgeI) const"
-                    )   << "Trying to get parent (i.e. surface) edge for"
+                    FatalErrorInFunction
+                        << "Trying to get parent (i.e. surface) edge for"
                         << " intersection edge " << edgeI
                         << abort(FatalError);
                     return -1;
diff --git a/src/meshTools/triSurface/booleanOps/intersectedSurface/intersectedSurface.C b/src/meshTools/triSurface/booleanOps/intersectedSurface/intersectedSurface.C
index 7cffb1309a7..70f548ad006 100644
--- a/src/meshTools/triSurface/booleanOps/intersectedSurface/intersectedSurface.C
+++ b/src/meshTools/triSurface/booleanOps/intersectedSurface/intersectedSurface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -242,7 +242,7 @@ bool Foam::intersectedSurface::sameEdgeOrder
             }
             else
             {
-                FatalErrorIn("intersectedSurface::sameEdgeOrder")
+                FatalErrorInFunction
                     << "Triangle:" << fA << " and triangle:" << fB
                     << " share a point but not an edge"
                     << abort(FatalError);
@@ -250,7 +250,7 @@ bool Foam::intersectedSurface::sameEdgeOrder
         }
     }
 
-    FatalErrorIn("intersectedSurface::sameEdgeOrder")
+    FatalErrorInFunction
         << "Triangle:" << fA << " and triangle:" << fB
         << " do not share an edge"
         << abort(FatalError);
@@ -341,11 +341,8 @@ Foam::intersectedSurface::calcPointEdgeAddressing
         // Check on dangling points.
         if (iter().empty())
         {
-            FatalErrorIn
-            (
-                "intersectedSurface::calcPointEdgeAddressing"
-                "(const edgeSurface&, const label)"
-            )   << "Point:" << iter.key() << " used by too few edges:"
+            FatalErrorInFunction
+                << "Point:" << iter.key() << " used by too few edges:"
                 << iter() << abort(FatalError);
         }
     }
@@ -411,12 +408,8 @@ Foam::label Foam::intersectedSurface::nextEdge
             writeLocalOBJ(points, edges, connectedEdges, "faceEdges.obj");
         }
 
-        FatalErrorIn
-        (
-            "intersectedSurface::nextEdge(const pointField&, const edgeList&"
-            ", const vector&, Map<DynamicList<label> >, const label"
-            ", const label)"
-        )   << "Problem: prevVertI:" << prevVertI << " on edge " << prevEdgeI
+        FatalErrorInFunction
+            << "Problem: prevVertI:" << prevVertI << " on edge " << prevEdgeI
             << " has less than 2 connected edges."
             << " connectedEdges:" << connectedEdges << abort(FatalError);
 
@@ -471,7 +464,7 @@ Foam::label Foam::intersectedSurface::nextEdge
             writeLocalOBJ(points, edges, connectedEdges, "faceEdges.obj");
         }
 
-        FatalErrorIn("intersectedSurface::nextEdge")
+        FatalErrorInFunction
             << "Unnormalized normal e1:" << e1
             << " formed from cross product of e0:" << e0 << " n:" << n
             << abort(FatalError);
@@ -539,13 +532,8 @@ Foam::label Foam::intersectedSurface::nextEdge
             writeLocalOBJ(points, edges, connectedEdges, "faceEdges.obj");
         }
 
-        FatalErrorIn
-        (
-            "intersectedSurface::nextEdge(const pointField&, const edgeList&"
-            ", const Map<label>&, const vector&"
-            ", const Map<DynamicList<label> >&"
-            ", const label, const label"
-        )   << "Trying to step from edge " << edges[prevEdgeI]
+        FatalErrorInFunction
+            << "Trying to step from edge " << edges[prevEdgeI]
             << ", vertex " << prevVertI
             << " but cannot find 'unvisited' edges among candidates:"
             << connectedEdges
@@ -687,12 +675,12 @@ void Foam::intersectedSurface::findNearestVisited
     {
         const labelList& fEdges = eSurf.faceEdges()[faceI];
 
-        SeriousErrorIn("intersectedSurface::findNearestVisited")
+        SeriousErrorInFunction
             << "Dumping face edges to faceEdges.obj" << endl;
 
         writeLocalOBJ(eSurf.points(), eSurf.edges(), fEdges, "faceEdges.obj");
 
-        FatalErrorIn("intersectedSurface::findNearestVisited")
+        FatalErrorInFunction
             << "No fully visited edge found for pt " << pt
             << abort(FatalError);
     }
@@ -1069,12 +1057,12 @@ Foam::faceList Foam::intersectedSurface::splitFace
 
         if (eSurf.isSurfaceEdge(edgeI) && stat != BOTH)
         {
-            SeriousErrorIn("Foam::intersectedSurface::splitFace")
+            SeriousErrorInFunction
                 << "Dumping face edges to faceEdges.obj" << endl;
 
             writeLocalOBJ(points, edges, fEdges, "faceEdges.obj");
 
-            FatalErrorIn("intersectedSurface::splitFace")
+            FatalErrorInFunction
                << "Problem: edge " << edgeI << " vertices "
                 << edges[edgeI] << " on face " << faceI
                 << " has visited status " << stat << " from a "
@@ -1261,10 +1249,8 @@ Foam::intersectedSurface::intersectedSurface
                     {
                         if (t[i] < 0 || t[i] >= eSurf.points().size())
                         {
-                            FatalErrorIn
-                            (
-                                "intersectedSurface::intersectedSurface"
-                            )   << "Face triangulation of face " << faceI
+                            FatalErrorInFunction
+                                << "Face triangulation of face " << faceI
                                 << " uses points outside range 0.."
                                 << eSurf.points().size()-1 << endl
                                 << "Triangulation:"
@@ -1359,7 +1345,7 @@ Foam::intersectedSurface::intersectedSurface
         }
         else
         {
-            FatalErrorIn("intersectedSurface::intersectedSurface")
+            FatalErrorInFunction
                 << "Cannot find edge among candidates " << pEdges
                 << " which uses points " << surfStartI
                 << " and " << surfEndI
diff --git a/src/meshTools/triSurface/booleanOps/surfaceIntersection/edgeIntersections.C b/src/meshTools/triSurface/booleanOps/surfaceIntersection/edgeIntersections.C
index c8167fb22d8..3685fdd5975 100644
--- a/src/meshTools/triSurface/booleanOps/surfaceIntersection/edgeIntersections.C
+++ b/src/meshTools/triSurface/booleanOps/surfaceIntersection/edgeIntersections.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -68,10 +68,8 @@ void Foam::edgeIntersections::checkEdges(const triSurface& surf)
 
         if (eMag < minSize)
         {
-            WarningIn
-            (
-                "Foam::edgeIntersections::checkEdges(const triSurface& surf)"
-            )   << "Edge " << edgeI << " vertices " << e
+            WarningInFunction
+                << "Edge " << edgeI << " vertices " << e
                 << " coords:" << localPoints[e[0]] << ' '
                 << localPoints[e[1]] << " is very small compared to bounding"
                 << " box dimensions " << bb << endl
@@ -81,10 +79,8 @@ void Foam::edgeIntersections::checkEdges(const triSurface& surf)
 
         if (edgeFaces[edgeI].size() == 1)
         {
-            WarningIn
-            (
-                "Foam::edgeIntersections::checkEdges(const triSurface& surf)"
-            )   << "Edge " << edgeI << " vertices " << e
+            WarningInFunction
+                << "Edge " << edgeI << " vertices " << e
                 << " coords:" << localPoints[e[0]] << ' '
                 << localPoints[e[1]] << " has only one face connected to it:"
                 << edgeFaces[edgeI] << endl
@@ -682,7 +678,7 @@ Foam::label Foam::edgeIntersections::removeDegenerates
 
         if (edgesToTest.empty())
         {
-            FatalErrorIn("perturb") << "oops" << abort(FatalError);
+            FatalErrorInFunction << "oops" << abort(FatalError);
         }
 
         // Re intersect moved edges.
diff --git a/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersection.C b/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersection.C
index 0ede58107cb..9a9f88b6c8e 100644
--- a/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersection.C
+++ b/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersection.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -184,7 +184,7 @@ bool Foam::surfaceIntersection::excludeEdgeHit
 //        }
 //    }
 //
-//    FatalErrorIn("surfaceIntersection::borderEdgeIntersection")
+//    FatalErrorInFunction
 //        << "Did not find intersection of plane " << pl
 //        << " with edges of face " << hitFaceI << " verts:" << f
 //        << abort(FatalError);
@@ -239,13 +239,8 @@ void Foam::surfaceIntersection::storeIntersection
 
             if (mag(prevHit - thisHit) < SMALL)
             {
-                WarningIn
-                (
-                    "Foam::surfaceIntersection::storeIntersection"
-                    "(const bool isFirstSurf, const labelList& facesA,"
-                    "const label faceB, DynamicList<edge>& allCutEdges,"
-                    "DynamicList<point>& allCutPoints)"
-                )   << "Encountered degenerate edge between face "
+                WarningInFunction
+                    << "Encountered degenerate edge between face "
                     << twoFaces[0] << " on first surface"
                     << " and face " << twoFaces[1] << " on second surface"
                     << endl
@@ -968,7 +963,7 @@ Foam::surfaceIntersection::surfaceIntersection
 
             if (!usedPoints.found(pointI))
             {
-                WarningIn("surfaceIntersection::surfaceIntersection")
+                WarningInFunction
                     << "Problem: cut point:" << pointI
                     << " coord:" << cutPoints_[pointI]
                     << " not used by any edge" << endl;
diff --git a/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersectionFuncs.C b/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersectionFuncs.C
index 2ef3fec0bca..753eeec3558 100644
--- a/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersectionFuncs.C
+++ b/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersectionFuncs.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -104,11 +104,8 @@ Foam::label Foam::surfaceIntersection::getEdge
         }
     }
 
-    FatalErrorIn
-    (
-        "surfaceIntersection::getEdge(const triSurface&"
-        ", const label, const label"
-    )   << "Problem:: Cannot find edge with vertices " << faceEdge
+    FatalErrorInFunction
+        << "Problem:: Cannot find edge with vertices " << faceEdge
         << " in face " << faceI
         << abort(FatalError);
 
diff --git a/src/meshTools/triSurface/orientedSurface/orientedSurface.C b/src/meshTools/triSurface/orientedSurface/orientedSurface.C
index 0466343eb53..05ad8dc7688 100644
--- a/src/meshTools/triSurface/orientedSurface/orientedSurface.C
+++ b/src/meshTools/triSurface/orientedSurface/orientedSurface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -106,7 +106,7 @@ Foam::labelList Foam::orientedSurface::edgeToFace
             {
                 if (flip[face1] == UNVISITED)
                 {
-                    FatalErrorIn("orientedSurface::edgeToFace(..)") << "Problem"
+                    FatalErrorInFunction
                         << abort(FatalError);
                 }
                 else
@@ -330,10 +330,8 @@ bool Foam::orientedSurface::flipSurface
     {
         if (flipState[faceI] == UNVISITED)
         {
-            FatalErrorIn
-            (
-                "orientSurface(const point&, const label, const point&)"
-            )   << "unvisited face " << faceI
+            FatalErrorInFunction
+                << "unvisited face " << faceI
                 << abort(FatalError);
         }
         else if (flipState[faceI] == FLIP)
diff --git a/src/meshTools/triSurface/surfaceFeatures/surfaceFeatures.C b/src/meshTools/triSurface/surfaceFeatures/surfaceFeatures.C
index 3d89e50aeef..8212899215a 100644
--- a/src/meshTools/triSurface/surfaceFeatures/surfaceFeatures.C
+++ b/src/meshTools/triSurface/surfaceFeatures/surfaceFeatures.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -949,7 +949,7 @@ Foam::Map<Foam::label> Foam::surfaceFeatures::nearestSamples
 
         if (!info.hit())
         {
-            FatalErrorIn("surfaceFeatures::nearestSamples")
+            FatalErrorInFunction
                 << "Problem for point "
                 << surfPointI << " in tree " << ppTree.bb()
                 << abort(FatalError);
@@ -1484,19 +1484,15 @@ void Foam::surfaceFeatures::operator=(const surfaceFeatures& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::surfaceFeatures::operator=(const Foam::surfaceFeatures&)"
-        )   << "Attempted assignment to self"
+        FatalErrorInFunction
+            << "Attempted assignment to self"
             << abort(FatalError);
     }
 
     if (&surf_ != &rhs.surface())
     {
-        FatalErrorIn
-        (
-            "Foam::surfaceFeatures::operator=(const Foam::surfaceFeatures&)"
-        )   << "Operating on different surfaces"
+        FatalErrorInFunction
+            << "Operating on different surfaces"
             << abort(FatalError);
     }
 
diff --git a/src/meshTools/triSurface/triSurfaceSearch/triSurfaceRegionSearch.C b/src/meshTools/triSurface/triSurfaceSearch/triSurfaceRegionSearch.C
index 34dc89f920b..4a5cf4039b4 100644
--- a/src/meshTools/triSurface/triSurfaceSearch/triSurfaceRegionSearch.C
+++ b/src/meshTools/triSurface/triSurfaceSearch/triSurfaceRegionSearch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -135,7 +135,7 @@ Foam::triSurfaceRegionSearch::treeByRegion() const
 
     //            if (nPoints != surface().points().size())
     //            {
-    //                WarningIn("triSurfaceRegionSearch::treeByRegion() const")
+    //                WarningInFunction
     //                    << "Surface does not have compact point numbering. "
     //                    << "Of " << surface().points().size()
     //                    << " only " << nPoints
diff --git a/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.C b/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.C
index 5d78faff69f..fc8d29ecd7f 100644
--- a/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.C
+++ b/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -209,7 +209,7 @@ Foam::triSurfaceSearch::tree() const
 
             if (nPoints != surface().points().size())
             {
-                WarningIn("triSurfaceSearch::tree() const")
+                WarningInFunction
                     << "Surface does not have compact point numbering."
                     << " Of " << surface().points().size()
                     << " only " << nPoints
diff --git a/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.C b/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.C
index 5d69ba1f17c..3810acc2210 100644
--- a/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.C
+++ b/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,11 +51,8 @@ Foam::pointToPointPlanarInterpolation::calcCoordinateSystem
 {
     if (points.size() < 3)
     {
-        FatalErrorIn
-        (
-            "pointToPointPlanarInterpolation::calcCoordinateSystem"
-            "(const pointField&)"
-        )   << "Only " << points.size() << " provided." << nl
+        FatalErrorInFunction
+            << "Only " << points.size() << " provided." << nl
             << "Need at least three non-colinear points"
             << " to be able to interpolate."
             << exit(FatalError);
@@ -103,11 +100,8 @@ Foam::pointToPointPlanarInterpolation::calcCoordinateSystem
     }
     if (index2 == -1)
     {
-        FatalErrorIn
-        (
-            "pointToPointPlanarInterpolation::calcCoordinateSystem"
-            "(const pointField&)"
-        )   << "Cannot find points that make valid normal." << nl
+        FatalErrorInFunction
+            << "Cannot find points that make valid normal." << nl
             << "Have so far points " << p0 << " and " << p1
             << "Need at least three points which are not in a line."
             << exit(FatalError);
@@ -154,7 +148,7 @@ void Foam::pointToPointPlanarInterpolation::calcWeights
 
         if (!fullMatch)
         {
-            FatalErrorIn("pointToPointPlanarInterpolation::calcWeights(..)")
+            FatalErrorInFunction
                 << "Did not find a corresponding sourcePoint for every face"
                 << " centre" << exit(FatalError);
         }
@@ -390,7 +384,7 @@ bool Foam::pointToPointPlanarInterpolation::findTime
 
     if (lo == -1)
     {
-        //FatalErrorIn("findTime(..)")
+        //FatalErrorInFunction
         //    << "Cannot find starting sampling values for current time "
         //    << timeVal << nl
         //    << "Have sampling values for times "
diff --git a/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolationTemplates.C b/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolationTemplates.C
index f17f249d13a..96c9481f5c4 100644
--- a/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolationTemplates.C
+++ b/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolationTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,11 +35,8 @@ Foam::tmp<Foam::Field<Type> > Foam::pointToPointPlanarInterpolation::interpolate
 {
     if (nPoints_ != sourceFld.size())
     {
-        FatalErrorIn
-        (
-            "pointToPointPlanarInterpolation::interpolate"
-            "(const Field<Type>&) const"
-        )   << "Number of source points = " << nPoints_
+        FatalErrorInFunction
+            << "Number of source points = " << nPoints_
             << " number of values = " << sourceFld.size()
             << exit(FatalError);
     }
diff --git a/src/meshTools/triSurface/triSurfaceTools/triSurfaceTools.C b/src/meshTools/triSurface/triSurfaceTools/triSurfaceTools.C
index 0f6d31c9986..441f6136e95 100644
--- a/src/meshTools/triSurface/triSurfaceTools/triSurfaceTools.C
+++ b/src/meshTools/triSurface/triSurfaceTools/triSurfaceTools.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -615,7 +615,7 @@ Foam::scalar Foam::triSurfaceTools::edgeCosAngle
         }
         else
         {
-            FatalErrorIn("edgeCosAngle")
+            FatalErrorInFunction
                 << "face " << faceI << " does not use vertex "
                 << v1 << " of collapsed edge" << abort(FatalError);
         }
@@ -887,7 +887,7 @@ Foam::surfaceLocation Foam::triSurfaceTools::cutEdge
 
         if (fp0 == -1)
         {
-            FatalErrorIn("cutEdge(..)") << "excludePointI:" << excludePointI
+            FatalErrorInFunction
                 << " localF:" << s.localFaces()[triI] << abort(FatalError);
         }
 
@@ -944,7 +944,7 @@ Foam::surfaceLocation Foam::triSurfaceTools::cutEdge
             {
                 if (interI >= 2)
                 {
-                    FatalErrorIn("cutEdge(..)")
+                    FatalErrorInFunction
                         << "problem : triangle has three intersections." << nl
                         << "triangle:" << f.tri(points)
                         << " d:" << d << abort(FatalError);
@@ -963,7 +963,7 @@ Foam::surfaceLocation Foam::triSurfaceTools::cutEdge
             {
                 if (interI >= 2)
                 {
-                    FatalErrorIn("cutEdge(..)")
+                    FatalErrorInFunction
                         << "problem : triangle has three intersections." << nl
                         << "triangle:" << f.tri(points)
                         << " d:" << d << abort(FatalError);
@@ -1210,7 +1210,7 @@ Foam::surfaceLocation Foam::triSurfaceTools::visitFaces
                 // If crossing an edge we expect next edge to be cut.
                 if (excludeEdgeI != -1 && !cutInfo.hit())
                 {
-                    FatalErrorIn("triSurfaceTools::visitFaces(..)")
+                    FatalErrorInFunction
                         << "Triangle:" << triI
                         << " excludeEdge:" << excludeEdgeI
                         << " point:" << start.rawPoint()
@@ -1469,12 +1469,8 @@ void Foam::triSurfaceTools::otherEdges
 
     if (i0 == -1)
     {
-        FatalErrorIn
-        (
-            "otherEdges"
-            "(const triSurface&, const label, const label,"
-            " label&, label&)"
-        )   << "Edge " << surf.edges()[edgeI] << " not in face "
+        FatalErrorInFunction
+            << "Edge " << surf.edges()[edgeI] << " not in face "
             << surf.localFaces()[faceI] << abort(FatalError);
     }
 
@@ -1515,12 +1511,8 @@ void Foam::triSurfaceTools::otherVertices
     }
     else
     {
-        FatalErrorIn
-        (
-            "otherVertices"
-            "(const triSurface&, const label, const label,"
-            " label&, label&)"
-        )   << "Vertex " << vertI << " not in face " << f << abort(FatalError);
+        FatalErrorInFunction
+            << "Vertex " << vertI << " not in face " << f << abort(FatalError);
     }
 }
 
@@ -1547,11 +1539,8 @@ Foam::label Foam::triSurfaceTools::oppositeEdge
         }
     }
 
-    FatalErrorIn
-    (
-        "oppositeEdge"
-        "(const triSurface&, const label, const label)"
-    )   << "Cannot find vertex " << vertI << " in edges of face " << faceI
+    FatalErrorInFunction
+        << "Cannot find vertex " << vertI << " in edges of face " << faceI
         << abort(FatalError);
 
     return -1;
@@ -1579,7 +1568,7 @@ Foam::label Foam::triSurfaceTools::oppositeVertex
         }
     }
 
-    FatalErrorIn("triSurfaceTools::oppositeVertex")
+    FatalErrorInFunction
         << "Cannot find vertex opposite edge " << edgeI << " vertices " << e
         << " in face " << faceI << " vertices " << f << abort(FatalError);
 
@@ -1622,12 +1611,8 @@ Foam::label Foam::triSurfaceTools::getTriangle
 {
     if ((e0I == e1I) || (e0I == e2I) || (e1I == e2I))
     {
-        FatalErrorIn
-        (
-            "getTriangle"
-            "(const triSurface&, const label, const label,"
-            " const label)"
-        )   << "Duplicate edge labels : e0:" << e0I << " e1:" << e1I
+        FatalErrorInFunction
+            << "Duplicate edge labels : e0:" << e0I << " e1:" << e1I
             << " e2:" << e2I
             << abort(FatalError);
     }
@@ -1693,7 +1678,7 @@ Foam::triSurface Foam::triSurfaceTools::collapseEdges
     //
     //    if ((neighbours.size() != 2) && (neighbours.size() != 1))
     //    {
-    //        FatalErrorIn("collapseEdges")
+    //        FatalErrorInFunction
     //            << abort(FatalError);
     //    }
     //
@@ -1747,7 +1732,7 @@ Foam::triSurface Foam::triSurfaceTools::collapseEdges
 
         if ((edgeI < 0) || (edgeI >= surf.nEdges()))
         {
-            FatalErrorIn("collapseEdges")
+            FatalErrorInFunction
                 << "Edge label outside valid range." << endl
                 << "edge label:" << edgeI << endl
                 << "total number of edges:" << surf.nEdges() << endl
@@ -1777,7 +1762,7 @@ Foam::triSurface Foam::triSurfaceTools::collapseEdges
                  || (pointMap[e.end()] != e.end())
                 )
                 {
-                    FatalErrorIn("collapseEdges")
+                    FatalErrorInFunction
                         << "points already mapped. Double collapse." << endl
                         << "edgeI:" << edgeI
                         << "  start:" << e.start()
@@ -2224,7 +2209,7 @@ Foam::triSurfaceTools::sideType Foam::triSurfaceTools::surfaceSide
 
         //     if (mag(c) < 0.99)
         //     {
-        //         FatalErrorIn("triSurfaceTools::surfaceSide")
+        //         FatalErrorInFunction
         //             << "nearestPoint identified as being on triangle face "
         //             << "but vector from nearestPoint to sample is not "
         //             << "perpendicular to the normal." << nl
@@ -2274,7 +2259,7 @@ Foam::triSurfaceTools::sideType Foam::triSurfaceTools::surfaceSide
         //     != edge(f[nearLabel], f[f.fcIndex(nearLabel)])
         //    )
         //    {
-        //        FatalErrorIn("triSurfaceTools::surfaceSide")
+        //        FatalErrorInFunction
         //            << "Edge:" << edgeI << " local vertices:" << e
         //            << " mesh vertices:" << meshEdge
         //            << " not at position " << nearLabel
@@ -2335,7 +2320,7 @@ Foam::triSurfaceTools::sideType Foam::triSurfaceTools::surfaceSide
 
         if (minEdgeI == -1)
         {
-            FatalErrorIn("treeDataTriSurface::getSide")
+            FatalErrorInFunction
                 << "Problem: did not find edge closer than " << minDistSqr
                 << abort(FatalError);
         }
@@ -2565,7 +2550,7 @@ Foam::triSurface Foam::triSurfaceTools::delaunay2D(const List<vector2D>& pts)
 
     if (err != 0)
     {
-        FatalErrorIn("triSurfaceTools::delaunay2D(const List<vector2D>&)")
+        FatalErrorInFunction
             << "Failed dtris2 with vertices:" << pts.size()
             << abort(FatalError);
     }
diff --git a/src/meshTools/twoDPointCorrector/twoDPointCorrector.C b/src/meshTools/twoDPointCorrector/twoDPointCorrector.C
index 73aea238d07..95b1701ea3f 100644
--- a/src/meshTools/twoDPointCorrector/twoDPointCorrector.C
+++ b/src/meshTools/twoDPointCorrector/twoDPointCorrector.C
@@ -102,7 +102,7 @@ void Foam::twoDPointCorrector::calcAddressing() const
 
     if (mag(pn) < VSMALL)
     {
-        FatalErrorIn("twoDPointCorrector::calcAddressing()")
+        FatalErrorInFunction
             << "Cannot determine normal vector from patches."
             << abort(FatalError);
     }
@@ -148,7 +148,7 @@ void Foam::twoDPointCorrector::calcAddressing() const
     {
         if (meshPoints.size() % 2 != 0)
         {
-            WarningIn("twoDPointCorrector::calcAddressing()")
+            WarningInFunction
                 << "the number of vertices in the geometry "
                 << "is odd - this should not be the case for a 2-D case. "
                 << "Please check the geometry."
@@ -157,7 +157,7 @@ void Foam::twoDPointCorrector::calcAddressing() const
 
         if (2*nNormalEdges != meshPoints.size())
         {
-            WarningIn("twoDPointCorrector::calcAddressing()")
+            WarningInFunction
                 << "The number of points in the mesh is "
                 << "not equal to twice the number of edges normal to the plane "
                 << "- this may be OK only for wedge geometries.\n"
@@ -235,7 +235,7 @@ Foam::direction Foam::twoDPointCorrector::normalDir() const
     }
     else
     {
-        FatalErrorIn("direction twoDPointCorrector::normalDir() const")
+        FatalErrorInFunction
             << "Plane normal not aligned with the coordinate system" << nl
             << "    pn = " << pn
             << abort(FatalError);
diff --git a/src/parallel/decompose/decompose/fvFieldDecomposerDecomposeFields.C b/src/parallel/decompose/decompose/fvFieldDecomposerDecomposeFields.C
index c72ceedfb89..fa3594d93ab 100644
--- a/src/parallel/decompose/decompose/fvFieldDecomposerDecomposeFields.C
+++ b/src/parallel/decompose/decompose/fvFieldDecomposerDecomposeFields.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -149,7 +149,7 @@ Foam::fvFieldDecomposer::decomposeField
         }
         else
         {
-            FatalErrorIn("fvFieldDecomposer::decomposeField()")
+            FatalErrorInFunction
                 << "Unknown type." << abort(FatalError);
         }
     }
@@ -307,7 +307,7 @@ Foam::fvFieldDecomposer::decomposeField
         }
         else
         {
-            FatalErrorIn("fvFieldDecomposer::decomposeField()")
+            FatalErrorInFunction
                 << "Unknown type." << abort(FatalError);
         }
     }
diff --git a/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.C b/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.C
index ff2f3d68002..d7af8cd81c7 100644
--- a/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.C
+++ b/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -66,11 +66,8 @@ Foam::autoPtr<Foam::decompositionMethod> Foam::decompositionMethod::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "decompositionMethod::New"
-            "(const dictionary& decompositionDict)"
-        )   << "Unknown decompositionMethod "
+        FatalErrorInFunction
+            << "Unknown decompositionMethod "
             << methodType << nl << nl
             << "Valid decompositionMethods are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
@@ -768,17 +765,8 @@ Foam::labelList Foam::decompositionMethod::decompose
 
     if (nWeights > 0 && cellWeights.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "decompositionMethod::decompose\n"
-            "(\n"
-            "   const polyMesh&,\n"
-            "   const scalarField&,\n"
-            "   const boolList&,\n"
-            "   const PtrList<labelList>&,\n"
-            "   const labelList&,\n"
-            "   const List<labelPair>&\n"
-        )   << "Number of weights " << cellWeights.size()
+        FatalErrorInFunction
+            << "Number of weights " << cellWeights.size()
             << " differs from number of cells " << mesh.nCells()
             << exit(FatalError);
     }
@@ -938,18 +926,8 @@ Foam::labelList Foam::decompositionMethod::decompose
             }
             else if (blockedFace[f0] != blockedFace[f1])
             {
-                FatalErrorIn
-                (
-                    "labelList decompose\n"
-                    "(\n"
-                    "    const polyMesh&,\n"
-                    "    const scalarField&,\n"
-                    "    const boolList&,\n"
-                    "    const PtrList<labelList>&,\n"
-                    "    const labelList&,\n"
-                    "    const List<labelPair>&\n"
-                    ")"
-                )   << "On explicit connection between faces " << f0
+                FatalErrorInFunction
+                    << "On explicit connection between faces " << f0
                     << " and " << f1
                     << " the two blockedFace status are not equal : "
                     << blockedFace[f0] << " and " << blockedFace[f1]
@@ -1093,7 +1071,7 @@ Foam::labelList Foam::decompositionMethod::decompose
                             label nbrProc = nbrDecomp[bFaceI];
                             if (ownProc != nbrProc)
                             {
-                                FatalErrorIn("decompositionMethod::decompose()")
+                                FatalErrorInFunction
                                     << "patch:" << pp.name()
                                     << " face:" << faceI
                                     << " at:" << mesh.faceCentres()[faceI]
@@ -1145,7 +1123,7 @@ void Foam::decompositionMethod::setConstraints
 
             if (patchI == -1)
             {
-                FatalErrorIn("decompositionMethod::decompose(const polyMesh&)")
+                FatalErrorInFunction
                     << "Unknown preservePatch " << pNames[i]
                     << endl << "Valid patches are " << patches.names()
                     << exit(FatalError);
@@ -1179,7 +1157,7 @@ void Foam::decompositionMethod::setConstraints
 
             if (zoneI == -1)
             {
-                FatalErrorIn("decompositionMethod::decompose(const polyMesh&)")
+                FatalErrorInFunction
                     << "Unknown preserveFaceZone " << zNames[i]
                     << endl << "Valid faceZones are " << fZones.names()
                     << exit(FatalError);
diff --git a/src/parallel/decompose/decompositionMethods/geomDecomp/geomDecomp.C b/src/parallel/decompose/decompositionMethods/geomDecomp/geomDecomp.C
index 316c1bf4828..a416d0dc304 100644
--- a/src/parallel/decompose/decompositionMethods/geomDecomp/geomDecomp.C
+++ b/src/parallel/decompose/decompositionMethods/geomDecomp/geomDecomp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,11 +43,8 @@ Foam::geomDecomp::geomDecomp
 
     if (nProcessors_ != n_.x()*n_.y()*n_.z())
     {
-        FatalErrorIn
-        (
-            "geomDecomp::geomDecomp"
-            "(const dictionary& decompositionDict)"
-        )   << "Wrong number of processor divisions in geomDecomp:" << nl
+        FatalErrorInFunction
+            << "Wrong number of processor divisions in geomDecomp:" << nl
             << "Number of domains    : " << nProcessors_ << nl
             << "Wanted decomposition : " << n_
             << exit(FatalError);
diff --git a/src/parallel/decompose/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.C b/src/parallel/decompose/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.C
index 9928f39f473..9fa9446ee39 100644
--- a/src/parallel/decompose/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.C
+++ b/src/parallel/decompose/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,10 +50,8 @@ void Foam::hierarchGeomDecomp::setDecompOrder()
 
     if (order.size() != 3)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "hierarchGeomDecomp::hierarchGeomDecomp"
-            "(const dictionary& decompositionDict)",
             decompositionDict_
         )   << "number of characters in order (" << order << ") != 3"
             << exit(FatalIOError);
@@ -75,10 +73,8 @@ void Foam::hierarchGeomDecomp::setDecompOrder()
         }
         else
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "hierarchGeomDecomp::hierarchGeomDecomp"
-                "(const dictionary& decompositionDict)",
                 decompositionDict_
             )   << "Illegal decomposition order " << order << endl
                 << "It should only contain x, y or z" << exit(FatalError);
@@ -229,7 +225,7 @@ void Foam::hierarchGeomDecomp::findBinary
 
         if (returnReduce(hasNotChanged, andOp<bool>()))
         {
-            WarningIn("hierarchGeomDecomp::findBinary(..)")
+            WarningInFunction
                 << "unable to find desired decomposition split, making do!"
                 << endl;
             break;
@@ -309,7 +305,7 @@ void Foam::hierarchGeomDecomp::findBinary
 
         if (returnReduce(hasNotChanged, andOp<bool>()))
         {
-            WarningIn("hierarchGeomDecomp::findBinary(..)")
+            WarningInFunction
                 << "unable to find desired deomposition split, making do!"
                 << endl;
             break;
diff --git a/src/parallel/decompose/decompositionMethods/manualDecomp/manualDecomp.C b/src/parallel/decompose/decompositionMethods/manualDecomp/manualDecomp.C
index 6bb704515b0..8af9083bc1f 100644
--- a/src/parallel/decompose/decompositionMethods/manualDecomp/manualDecomp.C
+++ b/src/parallel/decompose/decompositionMethods/manualDecomp/manualDecomp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -85,10 +85,8 @@ Foam::labelList Foam::manualDecomp::decompose
 
     if (finalDecomp.size() != points.size())
     {
-        FatalErrorIn
-        (
-            "manualDecomp::decompose(const pointField&, const scalarField&)"
-        )   << "Size of decomposition list does not correspond "
+        FatalErrorInFunction
+            << "Size of decomposition list does not correspond "
             << "to the number of points.  Size: "
             << finalDecomp.size() << " Number of points: "
             << points.size()
@@ -99,10 +97,8 @@ Foam::labelList Foam::manualDecomp::decompose
 
     if (min(finalDecomp) < 0 || max(finalDecomp) > nProcessors_ - 1)
     {
-        FatalErrorIn
-        (
-            "manualDecomp::decompose(const pointField&, const scalarField&)"
-        )   << "According to the decomposition, cells assigned to "
+        FatalErrorInFunction
+            << "According to the decomposition, cells assigned to "
             << "impossible processor numbers.  Min processor = "
             << min(finalDecomp) << " Max processor = " << max(finalDecomp)
             << ".\n" << "Manual decomposition data read from file "
diff --git a/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.C b/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.C
index 927df123abf..f282c211e60 100644
--- a/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.C
+++ b/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -351,7 +351,7 @@ Foam::multiLevelDecomp::multiLevelDecomp(const dictionary& decompositionDict)
 
     if (n != nDomains())
     {
-        FatalErrorIn("multiLevelDecomp::multiLevelDecomp(const dictionary&)")
+        FatalErrorInFunction
             << "Top level decomposition specifies " << nDomains()
             << " domains which is not equal to the product of"
             << " all sub domains " << n
diff --git a/src/parallel/decompose/decompositionMethods/structuredDecomp/structuredDecomp.C b/src/parallel/decompose/decompositionMethods/structuredDecomp/structuredDecomp.C
index 03454227484..3dfd39f6de7 100644
--- a/src/parallel/decompose/decompositionMethods/structuredDecomp/structuredDecomp.C
+++ b/src/parallel/decompose/decompositionMethods/structuredDecomp/structuredDecomp.C
@@ -149,7 +149,7 @@ Foam::labelList Foam::structuredDecomp::decompose
         {
             if (!haveWarned)
             {
-                WarningIn("structuredDecomp::decompose(..)")
+                WarningInFunction
                     << "Did not visit some cells, e.g. cell " << cellI
                     << " at " << mesh.cellCentres()[cellI] << endl
                     << "Assigning  these cells to domain 0." << endl;
diff --git a/src/parallel/decompose/metisDecomp/metisDecomp.C b/src/parallel/decompose/metisDecomp/metisDecomp.C
index f14ef21e924..0855c581dc7 100644
--- a/src/parallel/decompose/metisDecomp/metisDecomp.C
+++ b/src/parallel/decompose/metisDecomp/metisDecomp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -88,21 +88,15 @@ Foam::label Foam::metisDecomp::decompose
     {
         if (minWeights <= 0)
         {
-            WarningIn
-            (
-                "metisDecomp::decompose"
-                "(const pointField&, const scalarField&)"
-            )   << "Illegal minimum weight " << minWeights
+            WarningInFunction
+                << "Illegal minimum weight " << minWeights
                 << endl;
         }
 
         if (cWeights.size() != numCells)
         {
-            FatalErrorIn
-            (
-                "metisDecomp::decompose"
-                "(const pointField&, const scalarField&)"
-            )   << "Number of cell weights " << cWeights.size()
+            FatalErrorInFunction
+                << "Number of cell weights " << cWeights.size()
                 << " does not equal number of cells " << numCells
                 << exit(FatalError);
         }
@@ -126,7 +120,7 @@ Foam::label Foam::metisDecomp::decompose
         {
             if (method != "recursive" && method != "k-way")
             {
-                FatalErrorIn("metisDecomp::decompose()")
+                FatalErrorInFunction
                     << "Method " << method << " in metisCoeffs in dictionary : "
                     << decompositionDict_.name()
                     << " should be 'recursive' or 'k-way'"
@@ -141,7 +135,7 @@ Foam::label Foam::metisDecomp::decompose
         {
             if (options.size() != METIS_NOPTIONS)
             {
-                FatalErrorIn("metisDecomp::decompose()")
+                FatalErrorInFunction
                     << "Number of options in metisCoeffs in dictionary : "
                     << decompositionDict_.name()
                     << " should be " << METIS_NOPTIONS
@@ -158,7 +152,7 @@ Foam::label Foam::metisDecomp::decompose
 
             if (processorWeights.size() != nProcessors_)
             {
-                FatalErrorIn("metisDecomp::decompose(const pointField&)")
+                FatalErrorInFunction
                     << "Number of processor weights "
                     << processorWeights.size()
                     << " does not equal number of domains " << nProcessors_
@@ -185,7 +179,7 @@ Foam::label Foam::metisDecomp::decompose
         //
         //    if (cellWeights.size() != xadj.size()-1)
         //    {
-        //        FatalErrorIn("metisDecomp::decompose(const pointField&)")
+        //        FatalErrorInFunction
         //            << "Number of cell weights " << cellWeights.size()
         //            << " does not equal number of cells " << xadj.size()-1
         //            << exit(FatalError);
@@ -265,10 +259,8 @@ Foam::labelList Foam::metisDecomp::decompose
 {
     if (points.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "metisDecomp::decompose(const pointField&,const scalarField&)"
-        )   << "Can use this decomposition method only for the whole mesh"
+        FatalErrorInFunction
+            << "Can use this decomposition method only for the whole mesh"
             << endl
             << "and supply one coordinate (cellCentre) for every cell." << endl
             << "The number of coordinates " << points.size() << endl
@@ -304,11 +296,8 @@ Foam::labelList Foam::metisDecomp::decompose
 {
     if (agglom.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "metisDecomp::decompose"
-            "(const labelList&, const pointField&, const scalarField&)"
-        )   << "Size of cell-to-coarse map " << agglom.size()
+        FatalErrorInFunction
+            << "Size of cell-to-coarse map " << agglom.size()
             << " differs from number of cells in mesh " << mesh.nCells()
             << exit(FatalError);
     }
@@ -346,11 +335,8 @@ Foam::labelList Foam::metisDecomp::decompose
 {
     if (cellCentres.size() != globalCellCells.size())
     {
-        FatalErrorIn
-        (
-            "metisDecomp::decompose"
-            "(const pointField&, const labelListList&, const scalarField&)"
-        )   << "Inconsistent number of cells (" << globalCellCells.size()
+        FatalErrorInFunction
+            << "Inconsistent number of cells (" << globalCellCells.size()
             << ") and number of cell centres (" << cellCentres.size()
             << ")." << exit(FatalError);
     }
diff --git a/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C b/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C
index 29f1f6b09a6..532ded955b3 100644
--- a/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C
+++ b/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C
@@ -152,7 +152,7 @@ void Foam::ptscotchDecomp::check(const int retVal, const char* str)
 {
     if (retVal)
     {
-        FatalErrorIn("ptscotchDecomp::decompose(..)")
+        FatalErrorInFunction
             << "Call to scotch routine " << str << " failed."
             << exit(FatalError);
     }
@@ -238,7 +238,7 @@ void Foam::ptscotchDecomp::check(const int retVal, const char* str)
 //
 //        if (prevXadj.size() != nSendCells[Pstream::myProcNo()-1])
 //        {
-//            FatalErrorIn("ptscotchDecomp::decompose(..)")
+//            FatalErrorInFunction
 //                << "Expected from processor " << Pstream::myProcNo()-1
 //                << " connectivity for " << nSendCells[Pstream::myProcNo()-1]
 //                << " nCells but only received " << prevXadj.size()
@@ -315,7 +315,7 @@ void Foam::ptscotchDecomp::check(const int retVal, const char* str)
 //
 //        if (nextFinalDecomp.size() != nSendCells[Pstream::myProcNo()])
 //        {
-//            FatalErrorIn("parMetisDecomp::decompose(..)")
+//            FatalErrorInFunction
 //                << "Expected from processor " << Pstream::myProcNo()+1
 //                << " decomposition for " << nSendCells[Pstream::myProcNo()]
 //                << " nCells but only received " << nextFinalDecomp.size()
@@ -489,19 +489,15 @@ Foam::label Foam::ptscotchDecomp::decompose
     {
         if (minWeights <= 0)
         {
-            WarningIn
-            (
-                "ptscotchDecomp::decompose(..)"
-            )   << "Illegal minimum weight " << minWeights
+            WarningInFunction
+                << "Illegal minimum weight " << minWeights
                 << endl;
         }
 
         if (cWeights.size() != xadjSize-1)
         {
-            FatalErrorIn
-            (
-                "ptscotchDecomp::decompose(..)"
-            )   << "Number of cell weights " << cWeights.size()
+            FatalErrorInFunction
+                << "Number of cell weights " << cWeights.size()
                 << " does not equal number of cells " << xadjSize-1
                 << exit(FatalError);
         }
@@ -519,10 +515,8 @@ Foam::label Foam::ptscotchDecomp::decompose
             // rangeScale tipping the subsequent sum over the integer limit.
             rangeScale = 0.9*scalar(labelMax - 1)/velotabSum;
 
-            WarningIn
-            (
-                "ptscotchDecomp::decompose(...)"
-            )   << "Sum of weights has overflowed integer: " << velotabSum
+            WarningInFunction
+                << "Sum of weights has overflowed integer: " << velotabSum
                 << ", compressing weight scale by a factor of " << rangeScale
                 << endl;
         }
@@ -737,10 +731,7 @@ Foam::labelList Foam::ptscotchDecomp::decompose
 {
     if (points.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "ptscotchDecomp::decompose(const pointField&, const scalarField&)"
-        )
+        FatalErrorInFunction
             << "Can use this decomposition method only for the whole mesh"
             << endl
             << "and supply one coordinate (cellCentre) for every cell." << endl
@@ -796,10 +787,8 @@ Foam::labelList Foam::ptscotchDecomp::decompose
 {
     if (agglom.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "ptscotchDecomp::decompose(const labelList&, const pointField&)"
-        )   << "Size of cell-to-coarse map " << agglom.size()
+        FatalErrorInFunction
+            << "Size of cell-to-coarse map " << agglom.size()
             << " differs from number of cells in mesh " << mesh.nCells()
             << exit(FatalError);
     }
@@ -850,10 +839,8 @@ Foam::labelList Foam::ptscotchDecomp::decompose
 {
     if (cellCentres.size() != globalCellCells.size())
     {
-        FatalErrorIn
-        (
-            "ptscotchDecomp::decompose(const pointField&, const labelListList&)"
-        )   << "Inconsistent number of cells (" << globalCellCells.size()
+        FatalErrorInFunction
+            << "Inconsistent number of cells (" << globalCellCells.size()
             << ") and number of cell centres (" << cellCentres.size()
             << ")." << exit(FatalError);
     }
diff --git a/src/parallel/decompose/scotchDecomp/scotchDecomp.C b/src/parallel/decompose/scotchDecomp/scotchDecomp.C
index f22a2ed0e01..d0b9d6a6af8 100644
--- a/src/parallel/decompose/scotchDecomp/scotchDecomp.C
+++ b/src/parallel/decompose/scotchDecomp/scotchDecomp.C
@@ -163,7 +163,7 @@ void Foam::scotchDecomp::check(const int retVal, const char* str)
 {
     if (retVal)
     {
-        FatalErrorIn("scotchDecomp::decompose(..)")
+        FatalErrorInFunction
             << "Call to scotch routine " << str << " failed."
             << exit(FatalError);
     }
@@ -382,19 +382,15 @@ Foam::label Foam::scotchDecomp::decomposeOneProc
     {
         if (minWeights <= 0)
         {
-            WarningIn
-            (
-                "scotchDecomp::decompose(...)"
-            )   << "Illegal minimum weight " << minWeights
+            WarningInFunction
+                << "Illegal minimum weight " << minWeights
                 << endl;
         }
 
         if (cWeights.size() != xadj.size()-1)
         {
-            FatalErrorIn
-            (
-                "scotchDecomp::decompose(...)"
-            )   << "Number of cell weights " << cWeights.size()
+            FatalErrorInFunction
+                << "Number of cell weights " << cWeights.size()
                 << " does not equal number of cells " << xadj.size()-1
                 << exit(FatalError);
         }
@@ -409,10 +405,8 @@ Foam::label Foam::scotchDecomp::decomposeOneProc
             // rangeScale tipping the subsequent sum over the integer limit.
             rangeScale = 0.9*scalar(labelMax - 1)/velotabSum;
 
-            WarningIn
-            (
-                "scotchDecomp::decompose(...)"
-            )   << "Sum of weights has overflowed integer: " << velotabSum
+            WarningInFunction
+                << "Sum of weights has overflowed integer: " << velotabSum
                 << ", compressing weight scale by a factor of " << rangeScale
                 << endl;
         }
@@ -601,11 +595,8 @@ Foam::labelList Foam::scotchDecomp::decompose
 {
     if (points.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "scotchDecomp::decompose(const polyMesh&, const pointField&"
-            ", const scalarField&)"
-        )   << "Can use this decomposition method only for the whole mesh"
+        FatalErrorInFunction
+            << "Can use this decomposition method only for the whole mesh"
             << endl
             << "and supply one coordinate (cellCentre) for every cell." << endl
             << "The number of coordinates " << points.size() << endl
@@ -655,12 +646,8 @@ Foam::labelList Foam::scotchDecomp::decompose
 {
     if (agglom.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "scotchDecomp::decompose"
-            "(const polyMesh&, const labelList&, const pointField&"
-            ", const scalarField&)"
-        )   << "Size of cell-to-coarse map " << agglom.size()
+        FatalErrorInFunction
+            << "Size of cell-to-coarse map " << agglom.size()
             << " differs from number of cells in mesh " << mesh.nCells()
             << exit(FatalError);
     }
@@ -708,11 +695,8 @@ Foam::labelList Foam::scotchDecomp::decompose
 {
     if (cellCentres.size() != globalCellCells.size())
     {
-        FatalErrorIn
-        (
-            "scotchDecomp::decompose"
-            "(const labelListList&, const pointField&, const scalarField&)"
-        )   << "Inconsistent number of cells (" << globalCellCells.size()
+        FatalErrorInFunction
+            << "Inconsistent number of cells (" << globalCellCells.size()
             << ") and number of cell centres (" << cellCentres.size()
             << ")." << exit(FatalError);
     }
diff --git a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C
index f17d26277ef..200a4d2a1d7 100644
--- a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C
+++ b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C
@@ -833,22 +833,16 @@ Foam::distributedTriSurfaceMesh::independentlyDistributedBbs
 
         if (!decomposer_().parallelAware())
         {
-            FatalErrorIn
-            (
-                "distributedTriSurfaceMesh::independentlyDistributedBbs"
-                "(const triSurface&)"
-            )   << "The decomposition method " << decomposer_().typeName
+            FatalErrorInFunction
+                << "The decomposition method " << decomposer_().typeName
                 << " does not decompose in parallel."
                 << " Please choose one that does." << exit(FatalError);
         }
 
         if (!isA<geomDecomp>(decomposer_()))
         {
-            FatalErrorIn
-            (
-                "distributedTriSurfaceMesh::independentlyDistributedBbs"
-                "(const triSurface&)"
-            )   << "The decomposition method " << decomposer_().typeName
+            FatalErrorInFunction
+                << "The decomposition method " << decomposer_().typeName
                 << " is not a geometric decomposition method." << endl
                 << "Only geometric decomposition methods are currently"
                 << " supported."
@@ -1381,8 +1375,7 @@ Foam::distributedTriSurfaceMesh::distributedTriSurfaceMesh(const IOobject& io)
         )
     )
     {
-        FatalErrorIn("Foam::distributedTriSurfaceMesh::read()")
-            << "    distributedTriSurfaceMesh is being constructed\n"
+        FatalErrorInFunction
             << "    using 'timeStampMaster' or 'inotifyMaster.'\n"
             << "    Modify the entry fileModificationChecking\n"
             << "    in the etc/controlDict.\n"
@@ -1465,8 +1458,7 @@ Foam::distributedTriSurfaceMesh::distributedTriSurfaceMesh
         )
     )
     {
-        FatalErrorIn("Foam::distributedTriSurfaceMesh::read()")
-            << "    distributedTriSurfaceMesh is being constructed\n"
+        FatalErrorInFunction
             << "    using 'timeStampMaster' or 'inotifyMaster.'\n"
             << "    Modify the entry fileModificationChecking\n"
             << "    in the etc/controlDict.\n"
@@ -2004,11 +1996,8 @@ void Foam::distributedTriSurfaceMesh::getVolumeType
     List<volumeType>& volType
 ) const
 {
-    FatalErrorIn
-    (
-        "distributedTriSurfaceMesh::getVolumeType"
-        "(const pointField&, List<volumeType>&) const"
-    )   << "Volume type not supported for distributed surfaces."
+    FatalErrorInFunction
+        << "Volume type not supported for distributed surfaces."
         << exit(FatalError);
 }
 
@@ -2090,7 +2079,7 @@ void Foam::distributedTriSurfaceMesh::distribute
             break;
 
             default:
-                FatalErrorIn("distributedTriSurfaceMesh::distribute(..)")
+                FatalErrorInFunction
                     << "Unsupported distribution type." << exit(FatalError);
             break;
         }
diff --git a/src/parallel/reconstruct/reconstruct/fvFieldReconstructor.C b/src/parallel/reconstruct/reconstruct/fvFieldReconstructor.C
index 3c85d65c6eb..c0ff1684e37 100644
--- a/src/parallel/reconstruct/reconstruct/fvFieldReconstructor.C
+++ b/src/parallel/reconstruct/reconstruct/fvFieldReconstructor.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,17 +53,8 @@ Foam::fvFieldReconstructor::fvFieldReconstructor
          || boundaryProcAddressing[procI].size() != procMesh.boundary().size()
         )
         {
-            FatalErrorIn
-            (
-                "fvFieldReconstructor::fvFieldReconstructor\n"
-                "(\n"
-                "   fvMesh&,\n"
-                "   const PtrList<fvMesh>&,\n"
-                "   const PtrList<labelIOList>&,\n"
-                "   const PtrList<labelIOList>&,\n"
-                "   const PtrList<labelIOList>&\n"
-                ")"
-            )   << "Size of maps does not correspond to size of mesh"
+            FatalErrorInFunction
+                << "Size of maps does not correspond to size of mesh"
                 << " for processor " << procI << endl
                 << "faceProcAddressing : " << faceProcAddressing[procI].size()
                 << " nFaces : " << procMesh.nFaces() << endl
diff --git a/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C b/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C
index 5ff0f7bf2e0..7a9487667d6 100644
--- a/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C
+++ b/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -190,15 +190,8 @@ Foam::fvFieldReconstructor::reconstructFvVolumeField
                     // Check
                     if (cp[faceI] <= 0)
                     {
-                        FatalErrorIn
-                        (
-                            "fvFieldReconstructor::reconstructFvVolumeField\n"
-                            "(\n"
-                            "    const IOobject&,\n"
-                            "    const PtrList<GeometricField<Type,"
-                            " fvPatchField, volMesh> >&\n"
-                            ") const\n"
-                        )   << "Processor " << procI
+                        FatalErrorInFunction
+                            << "Processor " << procI
                             << " patch "
                             << procField.mesh().boundary()[patchI].name()
                             << " face " << faceI
diff --git a/src/parallel/reconstruct/reconstruct/pointFieldReconstructor.C b/src/parallel/reconstruct/reconstruct/pointFieldReconstructor.C
index c987493c4e3..de58b47c5c4 100644
--- a/src/parallel/reconstruct/reconstruct/pointFieldReconstructor.C
+++ b/src/parallel/reconstruct/reconstruct/pointFieldReconstructor.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,17 +83,8 @@ Foam::pointFieldReconstructor::pointFieldReconstructor
 
                 if (procPatchAddr.size() && min(procPatchAddr) < 0)
                 {
-                    FatalErrorIn
-                    (
-                        "pointFieldReconstructor::pointFieldReconstructor"
-                        "(\n"
-                        "    const pointMesh& mesh,\n"
-                        "    const PtrList<pointMesh>& procMeshes,\n"
-                        "    const PtrList<labelIOList>& pointProcAddressing,\n"
-                        "    const PtrList<labelIOList>& "
-                        "boundaryProcAddressing\n"
-                        ")"
-                    )   << "Incomplete patch point addressing"
+                    FatalErrorInFunction
+                        << "Incomplete patch point addressing"
                         << abort(FatalError);
                 }
             }
diff --git a/src/parallel/reconstruct/reconstruct/processorMeshes.C b/src/parallel/reconstruct/reconstruct/processorMeshes.C
index c9e63eebe38..c2c98717569 100644
--- a/src/parallel/reconstruct/reconstruct/processorMeshes.C
+++ b/src/parallel/reconstruct/reconstruct/processorMeshes.C
@@ -177,7 +177,7 @@ Foam::fvMesh::readUpdateState Foam::processorMeshes::readUpdate()
         }
         else if (stat != procStat)
         {
-            FatalErrorIn("processorMeshes::readUpdate()")
+            FatalErrorInFunction
                 << "Processor " << procI
                 << " has a different polyMesh at time "
                 << databases_[procI].timeName()
@@ -241,7 +241,7 @@ void Foam::processorMeshes::reconstructPoints(fvMesh& mesh)
 
         if (pointProcAddressingI.size() != procPoints.size())
         {
-            FatalErrorIn("processorMeshes")
+            FatalErrorInFunction
                 << "problem :"
                 << " pointProcAddressingI:" << pointProcAddressingI.size()
                 << " procPoints:" << procPoints.size()
diff --git a/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.C b/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.C
index a4a7941055f..b83cb0bbd26 100644
--- a/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.C
+++ b/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -108,7 +108,7 @@ void Foam::calcTypes::addSubtract::writeAddSubtractFields
     }
     else
     {
-        FatalErrorIn("calcTypes::addSubtract::writeAddSubtractFields()")
+        FatalErrorInFunction
             << "Unable to read addSubtract field: " << addSubtractFieldName_
             << nl << exit(FatalError);
     }
@@ -162,7 +162,7 @@ void Foam::calcTypes::addSubtract::writeAddSubtractValues
 
     if (!processed)
     {
-        FatalErrorIn("calcTypes::addSubtract::writeAddSubtractValue()")
+        FatalErrorInFunction
             << "Unable to process " << baseFieldName_
             << " + " << addSubtractValueStr_ << nl
             << "No call to addSubtract for fields of type "
@@ -225,7 +225,7 @@ void Foam::calcTypes::addSubtract::preCalc
     }
     else
     {
-        FatalErrorIn("calcTypes::addSubtract::preCalc")
+        FatalErrorInFunction
             << "Invalid calcMode: " << calcModeName << nl
             << "    Valid calcModes are add and subtract" << nl
             << exit(FatalError);
@@ -241,7 +241,7 @@ void Foam::calcTypes::addSubtract::preCalc
     }
     else
     {
-        FatalErrorIn("calcTypes::addSubtract::preCalc")
+        FatalErrorInFunction
             << "addSubtract requires either -field or -value option"
             << nl << exit(FatalError);
     }
@@ -281,7 +281,7 @@ void Foam::calcTypes::addSubtract::calc
             }
             default:
             {
-                FatalErrorIn("calcTypes::addSubtract::calc")
+                FatalErrorInFunction
                     << "unknown calcType " << calcType_ << nl
                     << abort(FatalError);
             }
@@ -289,7 +289,7 @@ void Foam::calcTypes::addSubtract::calc
     }
     else
     {
-        FatalErrorIn("calcTypes::addSubtract::calc")
+        FatalErrorInFunction
             << "Unable to read base field: " << baseFieldName_
             << nl << exit(FatalError);
     }
diff --git a/src/postProcessing/foamCalcFunctions/calcType/calcTypeNew.C b/src/postProcessing/foamCalcFunctions/calcType/calcTypeNew.C
index d9a57a70fab..89f9db57d63 100644
--- a/src/postProcessing/foamCalcFunctions/calcType/calcTypeNew.C
+++ b/src/postProcessing/foamCalcFunctions/calcType/calcTypeNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,14 +43,14 @@ Foam::autoPtr<Foam::calcType> Foam::calcType::New
         // exit without stack trace
         if (calcTypeName == "-help")
         {
-            FatalErrorIn("calcType::New()")
+            FatalErrorInFunction
                 << "Valid calcType selections are:" << nl
                 << dictionaryConstructorTablePtr_->sortedToc() << nl
                 << exit(FatalError);
         }
         else
         {
-            FatalErrorIn("calcType::New()")
+            FatalErrorInFunction
                 << "Unknown calcType type " << calcTypeName << nl
                 << "Valid calcType selections are:" << nl
                 << dictionaryConstructorTablePtr_->sortedToc() << nl
diff --git a/src/postProcessing/functionObjects/IO/partialWrite/partialWrite.C b/src/postProcessing/functionObjects/IO/partialWrite/partialWrite.C
index cb3cfc7d5a9..a681b856930 100644
--- a/src/postProcessing/functionObjects/IO/partialWrite/partialWrite.C
+++ b/src/postProcessing/functionObjects/IO/partialWrite/partialWrite.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -79,7 +79,7 @@ void Foam::partialWrite::read(const dictionary& dict)
 
     if (writeInterval_ < 1)
     {
-        FatalIOErrorIn("partialWrite::read(const dictionary&)", dict)
+        FatalIOErrorInFunction(dict)
             << "Illegal value for writeInterval " << writeInterval_
             << ". It should be >= 1."
             << exit(FatalIOError);
diff --git a/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.C b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.C
index 81b58a1a5cd..35513a0b8b4 100644
--- a/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.C
+++ b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -102,7 +102,7 @@ void Foam::writeRegisteredObject::write()
         }
         else
         {
-            WarningIn("Foam::writeRegisteredObject::write()")
+            WarningInFunction
                 << "Object " << objectNames_[i] << " not found in "
                 << "database. Available objects:" << nl << obr_.sortedToc()
                 << endl;
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C
index 62407d83162..33dc39b951e 100644
--- a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C
+++ b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C
@@ -89,7 +89,7 @@ void Foam::fieldAverage::initialize()
     {
         if (!faItems_[fieldI].active())
         {
-            WarningIn("void Foam::fieldAverage::initialize()")
+            WarningInFunction
                 << "Field " << faItems_[fieldI].fieldName()
                 << " not found in database for averaging";
         }
@@ -270,16 +270,8 @@ Foam::fieldAverage::fieldAverage
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "fieldAverage::fieldAverage"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool "
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 }
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverageTemplates.C b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverageTemplates.C
index 62e733481d5..f4660ec82b4 100644
--- a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverageTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverageTemplates.C
@@ -163,10 +163,7 @@ void Foam::fieldAverage::addPrime2MeanField(const label fieldI)
 
         if (!faItems_[fieldI].mean())
         {
-            FatalErrorIn
-            (
-                "void Foam::fieldAverage::addPrime2MeanField(const label) const"
-            )
+            FatalErrorInFunction
                 << "To calculate the prime-squared average, the "
                 << "mean average must also be selected for field "
                 << fieldName << nl << exit(FatalError);
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.C b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.C
index 9f5334c03a4..da0d3f0021d 100644
--- a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.C
+++ b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -92,10 +92,8 @@ void Foam::fieldAverageItem::operator=(const fieldAverageItem& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::fieldAverageItem::operator=(const Foam::fieldAverageItem&)"
-        )   << "Attempted assignment to self" << nl
+        FatalErrorInFunction
+            << "Attempted assignment to self" << nl
             << abort(FatalError);
     }
 
diff --git a/src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C b/src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C
index 4e30b881ca6..44788eada95 100644
--- a/src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C
+++ b/src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,16 +62,8 @@ Foam::fieldCoordinateSystemTransform::fieldCoordinateSystemTransform
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "fieldCoordinateSystemTransform::fieldCoordinateSystemTransform"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 }
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
index dac7d8a71e0..262e639784a 100644
--- a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
+++ b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
@@ -72,16 +72,8 @@ Foam::fieldMinMax::fieldMinMax
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "fieldMinMax::fieldMinMax"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
index 729500caefe..4dadb68b484 100644
--- a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
@@ -267,14 +267,8 @@ void Foam::fieldMinMax::calcMinMaxFields
             }
             default:
             {
-                FatalErrorIn
-                (
-                    "Foam::fieldMinMax::calcMinMaxFields"
-                    "("
-                        "const word&, "
-                        "const modeType&"
-                    ")"
-                )   << "Unknown min/max mode: " << modeTypeNames_[mode_]
+                FatalErrorInFunction
+                    << "Unknown min/max mode: " << modeTypeNames_[mode_]
                     << exit(FatalError);
             }
         }
diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C
index 9d4b8400c80..c6e78bf5c2c 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C
@@ -85,7 +85,7 @@ void Foam::fieldValues::cellSource::setCellZoneCells()
 
             if (zoneId < 0)
             {
-                FatalErrorIn("cellSource::cellSource::setCellZoneCells()")
+                FatalErrorInFunction
                     << "Unknown cell zone name: " << sourceName_
                     << ". Valid cell zones are: " << mesh().cellZones().names()
                     << nl << exit(FatalError);
@@ -105,7 +105,7 @@ void Foam::fieldValues::cellSource::setCellZoneCells()
 
         default:
         {
-            FatalErrorIn("cellSource::setCellZoneCells()")
+            FatalErrorInFunction
                << "Unknown source type. Valid source types are:"
                 << sourceTypeNames_ << nl << exit(FatalError);
         }
@@ -132,10 +132,8 @@ void Foam::fieldValues::cellSource::initialise(const dictionary& dict)
 
     if (nCells_ == 0)
     {
-        WarningIn
-        (
-            "Foam::fieldValues::cellSource::initialise(const dictionary&)"
-        )   << type() << " " << name_ << ": "
+        WarningInFunction
+            << type() << " " << name_ << ": "
             << sourceTypeNames_[source_] << "(" << sourceName_ << "):" << nl
             << "    Source has no cells - deactivating" << endl;
 
@@ -262,7 +260,7 @@ void Foam::fieldValues::cellSource::write()
 
             if (!processed)
             {
-                WarningIn("void Foam::fieldValues::cellSource::write()")
+                WarningInFunction
                     << "Requested field " << fieldName
                     << " not found in database and not processed"
                     << endl;
diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
index 15030ea689c..8c6f4e7b92c 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
@@ -58,15 +58,8 @@ Foam::tmp<Foam::Field<Type> > Foam::fieldValues::cellSource::setFieldValues
 
     if (mustGet)
     {
-        FatalErrorIn
-        (
-            "Foam::tmp<Foam::Field<Type> > "
-            "Foam::fieldValues::cellSource::setFieldValues"
-            "("
-                "const word&, "
-                "const bool"
-            ") const"
-        )   << "Field " << fieldName << " not found in database"
+        FatalErrorInFunction
+            << "Field " << fieldName << " not found in database"
             << abort(FatalError);
     }
 
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C
index 4e1f79807de..d0b854784ef 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C
@@ -90,7 +90,7 @@ void Foam::fieldValues::faceSource::setFaceZoneFaces()
 
     if (zoneId < 0)
     {
-        FatalErrorIn("faceSource::faceSource::setFaceZoneFaces()")
+        FatalErrorInFunction
             << type() << " " << name_ << ": "
             << sourceTypeNames_[source_] << "(" << sourceName_ << "):" << nl
             << "    Unknown face zone name: " << sourceName_
@@ -175,7 +175,7 @@ void Foam::fieldValues::faceSource::setPatchFaces()
 
     if (patchId < 0)
     {
-        FatalErrorIn("faceSource::constructFaceAddressing()")
+        FatalErrorInFunction
             << type() << " " << name_ << ": "
             << sourceTypeNames_[source_] << "(" << sourceName_ << "):" << nl
             << "    Unknown patch name: " << sourceName_
@@ -421,7 +421,7 @@ void Foam::fieldValues::faceSource::initialise(const dictionary& dict)
         }
         default:
         {
-            FatalErrorIn("faceSource::initialise()")
+            FatalErrorInFunction
                 << type() << " " << name_ << ": "
                 << sourceTypeNames_[source_] << "(" << sourceName_ << "):"
                 << nl << "    Unknown source type. Valid source types are:"
@@ -431,10 +431,7 @@ void Foam::fieldValues::faceSource::initialise(const dictionary& dict)
 
     if (nFaces_ == 0)
     {
-        WarningIn
-        (
-            "Foam::fieldValues::faceSource::initialise(const dictionary&)"
-        )
+        WarningInFunction
             << type() << " " << name_ << ": "
             << sourceTypeNames_[source_] << "(" << sourceName_ << "):" << nl
             << "    Source has no faces - deactivating" << endl;
@@ -462,14 +459,7 @@ void Foam::fieldValues::faceSource::initialise(const dictionary& dict)
 
         if (source_ == stSampledSurface)
         {
-            FatalIOErrorIn
-            (
-                "void Foam::fieldValues::faceSource::initialise"
-                "("
-                    "const dictionary&"
-                ")",
-                dict
-            )
+            FatalIOErrorInFunction(dict)
                 << "Cannot use weightField for a sampledSurface"
                 << exit(FatalIOError);
         }
@@ -485,14 +475,7 @@ void Foam::fieldValues::faceSource::initialise(const dictionary& dict)
         }
         else
         {
-            FatalIOErrorIn
-            (
-                "void Foam::fieldValues::faceSource::initialise"
-                "("
-                    "const dictionary&"
-                ")",
-                dict
-            )
+            FatalIOErrorInFunction(dict)
                 << "Either weightField or orientedWeightField can be supplied, "
                 << "but not both"
                 << exit(FatalIOError);
@@ -737,7 +720,7 @@ void Foam::fieldValues::faceSource::write()
 
             if (!ok)
             {
-                WarningIn("void Foam::fieldValues::faceSource::write()")
+                WarningInFunction
                     << "Requested field " << fieldName
                     << " not found in database and not processed"
                     << endl;
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
index 53bca6f1fab..7af3ca2245b 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
@@ -110,16 +110,8 @@ Foam::tmp<Foam::Field<Type> > Foam::fieldValues::faceSource::getFieldValues
 
     if (mustGet)
     {
-        FatalErrorIn
-        (
-            "Foam::tmp<Foam::Field<Type> > "
-            "Foam::fieldValues::faceSource::getFieldValues"
-            "("
-                "const word&, "
-                "const bool, "
-                "const bool"
-            ") const"
-        )   << "Field " << fieldName << " not found in database"
+        FatalErrorInFunction
+            << "Field " << fieldName << " not found in database"
             << abort(FatalError);
     }
 
@@ -150,16 +142,7 @@ Type Foam::fieldValues::faceSource::processSameTypeValues
         }
         case opSumDirection:
         {
-            FatalErrorIn
-            (
-                "template<class Type>"
-                "Type Foam::fieldValues::faceSource::processSameTypeValues"
-                "("
-                    "const Field<Type>&, "
-                    "const vectorField&, "
-                    "const scalarField&"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "Operation " << operationTypeNames_[operation_]
                 << " not available for values of type "
                 << pTraits<Type>::typeName
@@ -170,16 +153,7 @@ Type Foam::fieldValues::faceSource::processSameTypeValues
         }
         case opSumDirectionBalance:
         {
-            FatalErrorIn
-            (
-                "template<class Type>"
-                "Type Foam::fieldValues::faceSource::processSameTypeValues"
-                "("
-                    "const Field<Type>&, "
-                    "const vectorField&, "
-                    "const scalarField&"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "Operation " << operationTypeNames_[operation_]
                 << " not available for values of type "
                 << pTraits<Type>::typeName
@@ -393,14 +367,8 @@ Foam::tmp<Foam::Field<Type> > Foam::fieldValues::faceSource::filterField
         }
         else
         {
-            FatalErrorIn
-            (
-                "fieldValues::faceSource::filterField"
-                "("
-                    "const GeometricField<Type, fvPatchField, volMesh>&, "
-                    "const bool"
-                ") const"
-            )   << type() << " " << name_ << ": "
+            FatalErrorInFunction
+                << type() << " " << name_ << ": "
                 << sourceTypeNames_[source_] << "(" << sourceName_ << "):"
                 << nl
                 << "    Unable to process internal faces for volume field "
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.C
index e54187c5f48..8694a16c1b6 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.C
@@ -92,16 +92,8 @@ Foam::fieldValue::fieldValue
     }
     else
     {
-        WarningIn
-        (
-            "fieldValue::fieldValue"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name << nl
             << endl;
         active_ = false;
     }
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueNew.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueNew.C
index f418ad02156..68f272127f0 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueNew.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,16 +48,8 @@ Foam::autoPtr<Foam::fieldValue> Foam::fieldValue::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "fieldValue::New"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "Unknown " << typeName << " type "
+        FatalErrorInFunction
+            << "Unknown " << typeName << " type "
             << modelType << nl << nl
             << "Valid " << typeName << " types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C
index 70c64effabd..d5067cfce67 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C
@@ -67,14 +67,7 @@ Type Foam::fieldValues::fieldValueDelta::applyOperation
         }
         default:
         {
-            FatalErrorIn
-            (
-                "Type Foam::fieldValues::fieldValueDelta::applyOperation"
-                "("
-                    "const Type&, "
-                    "const Type&"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "Unable to process operation "
                 << operationTypeNames_[operation_]
                 << abort(FatalError);
diff --git a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C b/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C
index 6625f2e4cc9..3df21efc22b 100644
--- a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C
+++ b/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C
@@ -242,16 +242,8 @@ Foam::nearWallFields::nearWallFields
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "nearWallFields::nearWallFields"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/field/processorField/processorField.C b/src/postProcessing/functionObjects/field/processorField/processorField.C
index a57ee9a2930..c5873c7ccc1 100644
--- a/src/postProcessing/functionObjects/field/processorField/processorField.C
+++ b/src/postProcessing/functionObjects/field/processorField/processorField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -78,16 +78,8 @@ Foam::processorField::processorField
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "processorField::processorField"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 }
diff --git a/src/postProcessing/functionObjects/field/readFields/readFields.C b/src/postProcessing/functionObjects/field/readFields/readFields.C
index 869f46beb01..8af1146dce7 100644
--- a/src/postProcessing/functionObjects/field/readFields/readFields.C
+++ b/src/postProcessing/functionObjects/field/readFields/readFields.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,16 +57,8 @@ Foam::readFields::readFields
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "readFields::readFields"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 }
diff --git a/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C b/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
index 6a081fd49f4..67ba333b24c 100644
--- a/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
+++ b/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
@@ -337,16 +337,8 @@ Foam::regionSizeDistribution::regionSizeDistribution
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "regionSizeDistribution::regionSizeDistribution"
-            "("
-                "const word&,  "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 }
diff --git a/src/postProcessing/functionObjects/field/streamLine/streamLine.C b/src/postProcessing/functionObjects/field/streamLine/streamLine.C
index 0017a338263..35b61ca03c3 100644
--- a/src/postProcessing/functionObjects/field/streamLine/streamLine.C
+++ b/src/postProcessing/functionObjects/field/streamLine/streamLine.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -194,7 +194,7 @@ void Foam::streamLine::track()
             }
             else
             {
-                FatalErrorIn("streamLine::track()")
+                FatalErrorInFunction
                     << "Cannot find field " << fields_[i] << nl
                     << "Valid scalar fields are:"
                     << mesh.names(volScalarField::typeName) << nl
@@ -267,7 +267,7 @@ void Foam::streamLine::track()
 
     if (UIndex == -1)
     {
-        FatalErrorIn("streamLine::track()")
+        FatalErrorInFunction
             << "Cannot find field to move particles with : " << UName_ << nl
             << "This field has to be present in the sampled fields " << fields_
             << " and in the objectRegistry."
@@ -345,16 +345,8 @@ Foam::streamLine::streamLine
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "streamLine::streamLine\n"
-            "(\n"
-                "const word&,\n"
-                "const objectRegistry&,\n"
-                "const dictionary&,\n"
-                "const bool\n"
-            ")"
-        )   << "No fvMesh available, deactivating."
+        WarningInFunction
+            << "No fvMesh available, deactivating."
             << nl << endl;
     }
 }
@@ -385,7 +377,7 @@ void Foam::streamLine::read(const dictionary& dict)
             UName_ = "U";
             if (dict.found("U"))
             {
-                IOWarningIn("streamLine::read(const dictionary&)", dict)
+                IOWarningInFunction(dict)
                     << "Using deprecated entry \"U\"."
                     << " Please use \"UName\" instead."
                     << endl;
@@ -395,7 +387,7 @@ void Foam::streamLine::read(const dictionary& dict)
 
         if (findIndex(fields_, UName_) == -1)
         {
-            FatalIOErrorIn("streamLine::read(const dictionary&)", dict)
+            FatalIOErrorInFunction(dict)
                 << "Velocity field for tracking " << UName_
                 << " should be present in the list of fields " << fields_
                 << exit(FatalIOError);
@@ -406,7 +398,7 @@ void Foam::streamLine::read(const dictionary& dict)
         dict.lookup("lifeTime") >> lifeTime_;
         if (lifeTime_ < 1)
         {
-            FatalErrorIn(":streamLine::read(const dictionary&)")
+            FatalErrorInFunction
                 << "Illegal value " << lifeTime_ << " for lifeTime"
                 << exit(FatalError);
         }
@@ -417,7 +409,7 @@ void Foam::streamLine::read(const dictionary& dict)
 
         if (subCycling && fixedLength)
         {
-            FatalIOErrorIn("streamLine::read(const dictionary&)", dict)
+            FatalIOErrorInFunction(dict)
                 << "Cannot both specify automatic time stepping (through '"
                 << "nSubCycle' specification) and fixed track length (through '"
                 << "trackLength')"
diff --git a/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C b/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C
index b62409d6bb1..4b31d77e397 100644
--- a/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C
+++ b/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -65,7 +65,7 @@ Foam::vector Foam::streamLineParticle::interpolateFields
 {
     if (cellI == -1)
     {
-        FatalErrorIn("streamLineParticle::interpolateFields(..)")
+        FatalErrorInFunction
             << "Cell:" << cellI << abort(FatalError);
     }
 
diff --git a/src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFields.C b/src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFields.C
index 0048f0d15ab..ad1c7d81b86 100644
--- a/src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFields.C
+++ b/src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFields.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,8 @@ Foam::surfaceInterpolateFields::surfaceInterpolateFields
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "surfaceInterpolateFields::surfaceInterpolateFields"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 }
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
index f9d1407c1e0..90409642814 100644
--- a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
+++ b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
@@ -39,7 +39,7 @@ Foam::edge Foam::wallBoundedParticle::currentEdge() const
 {
     if ((meshEdgeStart_ != -1) == (diagEdge_ != -1))
     {
-        FatalErrorIn("wallBoundedParticle::currentEdge() const")
+        FatalErrorInFunction
             << "Particle:"
             << info()
             << "cannot both be on a mesh edge and a face-diagonal edge."
@@ -93,11 +93,8 @@ void Foam::wallBoundedParticle::crossEdgeConnectedFace
         }
         else
         {
-            FatalErrorIn
-            (
-                "wallBoundedParticle::crossEdgeConnectedFace"
-                "(const edge&)"
-            )   << "Problem :"
+            FatalErrorInFunction
+                << "Problem :"
                 << " particle:"
                 << info()
                 << "face:" << tetFace()
@@ -113,11 +110,8 @@ void Foam::wallBoundedParticle::crossEdgeConnectedFace
     const edge eNew(f[meshEdgeStart_], f.nextLabel(meshEdgeStart_));
     if (eNew != meshEdge)
     {
-        FatalErrorIn
-        (
-            "wallBoundedParticle::crossEdgeConnectedFace"
-            "(const edge&)"
-        )   << "Problem" << abort(FatalError);
+        FatalErrorInFunction
+            << "Problem" << abort(FatalError);
     }
 }
 
@@ -126,14 +120,14 @@ void Foam::wallBoundedParticle::crossDiagonalEdge()
 {
     if (diagEdge_ == -1)
     {
-        FatalErrorIn("wallBoundedParticle::crossDiagonalEdge()")
+        FatalErrorInFunction
             << "Particle:"
             << info()
             << "not on a diagonal edge" << abort(FatalError);
     }
     if (meshEdgeStart_ != -1)
     {
-        FatalErrorIn("wallBoundedParticle::crossDiagonalEdge()")
+        FatalErrorInFunction
             << "Particle:"
             << info()
             << "meshEdgeStart_:" << meshEdgeStart_ << abort(FatalError);
@@ -156,7 +150,7 @@ void Foam::wallBoundedParticle::crossDiagonalEdge()
         }
         else
         {
-            FatalErrorIn("wallBoundedParticle::crossDiagonalEdge()")
+            FatalErrorInFunction
                 << "Particle:"
                 << info()
                 << "tetPt:" << tetPt()
@@ -268,11 +262,8 @@ bool Foam::wallBoundedParticle::isTriAlongTrack
          || findIndex(triVerts, currentE[1]) == -1
         )
         {
-            FatalErrorIn
-            (
-                "wallBoundedParticle::isTriAlongTrack"
-                "(const point&)"
-            )   << "Edge " << currentE << " not on triangle " << triVerts
+            FatalErrorInFunction
+                << "Edge " << currentE << " not on triangle " << triVerts
                 << info()
                 << abort(FatalError);
         }
@@ -298,11 +289,8 @@ bool Foam::wallBoundedParticle::isTriAlongTrack
         }
     }
 
-    FatalErrorIn
-    (
-        "wallBoundedParticle::isTriAlongTrack"
-        "(const point&)"
-    )   << "Problem" << abort(FatalError);
+    FatalErrorInFunction
+        << "Problem" << abort(FatalError);
 
     return false;
 }
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C
index 265621ae05e..dc4cb717d79 100644
--- a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C
+++ b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -206,11 +206,8 @@ Foam::scalar Foam::wallBoundedParticle::trackToEdge
 
         if (mesh_.isInternalFace(tetFace()))
         {
-            FatalErrorIn
-            (
-                "wallBoundedParticle::trackToEdge"
-                "(TrackData&, const vector&)"
-            )   << "Can only track on boundary faces."
+            FatalErrorInFunction
+                << "Can only track on boundary faces."
                 << " Face:" << tetFace()
                 << " at:" << mesh_.faceCentres()[tetFace()]
                 << abort(FatalError);
@@ -286,7 +283,7 @@ Foam::scalar Foam::wallBoundedParticle::trackToEdge
                 {
                     //Note: should not happen since boundary face so owner
                     //Pout<< "Real edge." << endl;
-                    FatalErrorIn("shold not happend") << info()
+                    FatalErrorInFunction
                         << abort(FatalError);
 
                     diagEdge_ = -1;
@@ -332,7 +329,7 @@ Foam::scalar Foam::wallBoundedParticle::trackToEdge
                 {
                     //Note: should not happen since boundary face so owner
                     //Pout<< "Real edge." << endl;
-                    FatalErrorIn("shold not happend") << info()
+                    FatalErrorInFunction
                         << abort(FatalError);
 
                     diagEdge_ = -1;
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C
index 863221f220c..ab06b1c04e7 100644
--- a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C
+++ b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -302,7 +302,7 @@ void Foam::wallBoundedStreamLine::track()
             }
             else
             {
-                FatalErrorIn("wallBoundedStreamLine::execute()")
+                FatalErrorInFunction
                     << "Cannot find field " << fields_[i] << endl
                     << "Valid scalar fields are:"
                     << mesh.names(volScalarField::typeName) << endl
@@ -375,7 +375,7 @@ void Foam::wallBoundedStreamLine::track()
 
     if (UIndex == -1)
     {
-        FatalErrorIn("wallBoundedStreamLine::execute()")
+        FatalErrorInFunction
             << "Cannot find field to move particles with : " << UName_
             << endl
             << "This field has to be present in the sampled fields "
@@ -454,16 +454,8 @@ Foam::wallBoundedStreamLine::wallBoundedStreamLine
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "wallBoundedStreamLine::wallBoundedStreamLine\n"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool "
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << nl << endl;
     }
 }
@@ -492,9 +484,8 @@ void Foam::wallBoundedStreamLine::read(const dictionary& dict)
             UName_ = "U";
             if (dict.found("U"))
             {
-                IOWarningIn
+                IOWarningInFunction
                 (
-                    "wallBoundedStreamLine::read(const dictionary&)",
                     dict
                 )   << "Using deprecated entry \"U\"."
                     << " Please use \"UName\" instead."
@@ -505,9 +496,8 @@ void Foam::wallBoundedStreamLine::read(const dictionary& dict)
 
         if (findIndex(fields_, UName_) == -1)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "wallBoundedStreamLine::read(const dictionary&)",
                 dict
             )   << "Velocity field for tracking " << UName_
                 << " should be present in the list of fields " << fields_
@@ -519,7 +509,7 @@ void Foam::wallBoundedStreamLine::read(const dictionary& dict)
         dict.lookup("lifeTime") >> lifeTime_;
         if (lifeTime_ < 1)
         {
-            FatalErrorIn(":wallBoundedStreamLine::read(const dictionary&)")
+            FatalErrorInFunction
                 << "Illegal value " << lifeTime_ << " for lifeTime"
                 << exit(FatalError);
         }
@@ -584,7 +574,7 @@ void Foam::wallBoundedStreamLine::read(const dictionary& dict)
             {
                 label nFaces = returnReduce(faces.size(), sumOp<label>());
 
-                WarningIn("wallBoundedStreamLine::read(const dictionary&)")
+                WarningInFunction
                     << "Found " << nFaces
                     <<" faces with low quality or negative volume "
                     << "decomposition tets. Writing to faceSet " << faces.name()
@@ -623,10 +613,8 @@ void Foam::wallBoundedStreamLine::read(const dictionary& dict)
                 {
                     if (iter() != 2)
                     {
-                        FatalErrorIn
-                        (
-                            "wallBoundedStreamLine::read(const dictionary&)"
-                        )   << "problem cell:" << cellI
+                        FatalErrorInFunction
+                            << "problem cell:" << cellI
                             << abort(FatalError);
                     }
                 }
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C
index 0bdf7006da3..0efa297151a 100644
--- a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C
+++ b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ Foam::vector Foam::wallBoundedStreamLineParticle::interpolateFields
 {
     if (cellI == -1)
     {
-        FatalErrorIn("wallBoundedStreamLineParticle::interpolateFields(..)")
+        FatalErrorInFunction
             << "Cell:" << cellI << abort(FatalError);
     }
 
diff --git a/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C b/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C
index fe09f4fd949..4d548a3a2f1 100644
--- a/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C
+++ b/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C
@@ -108,7 +108,7 @@ void Foam::forceCoeffs::writeFileHeader(const label i)
     }
     else
     {
-        FatalErrorIn("void Foam::forces::writeFileHeader(const label)")
+        FatalErrorInFunction
             << "Unhandled file index: " << i
             << abort(FatalError);
     }
diff --git a/src/postProcessing/functionObjects/forces/forces/forces.C b/src/postProcessing/functionObjects/forces/forces/forces.C
index dfb4a1cb42e..8417fccd6e3 100644
--- a/src/postProcessing/functionObjects/forces/forces/forces.C
+++ b/src/postProcessing/functionObjects/forces/forces/forces.C
@@ -144,7 +144,7 @@ void Foam::forces::writeFileHeader(const label i)
     }
     else
     {
-        FatalErrorIn("void Foam::forces::writeFileHeader(const label)")
+        FatalErrorInFunction
             << "Unhandled file index: " << i
             << abort(FatalError);
     }
@@ -165,7 +165,7 @@ void Foam::forces::initialise()
         if (!obr_.foundObject<volVectorField>(fDName_))
         {
             active_ = false;
-            WarningIn("void Foam::forces::initialise()")
+            WarningInFunction
                 << "Could not find " << fDName_ << " in database." << nl
                 << "    De-activating forces."
                 << endl;
@@ -185,7 +185,7 @@ void Foam::forces::initialise()
         {
             active_ = false;
 
-            WarningIn("void Foam::forces::initialise()")
+            WarningInFunction
                 << "Could not find " << UName_ << ", " << pName_;
 
             if (rhoName_ != "rhoInf")
@@ -255,7 +255,7 @@ Foam::tmp<Foam::volSymmTensorField> Foam::forces::devRhoReff() const
     }
     else
     {
-        FatalErrorIn("forces::devRhoReff()")
+        FatalErrorInFunction
             << "No valid model for viscous stress calculation"
             << exit(FatalError);
 
@@ -294,7 +294,7 @@ Foam::tmp<Foam::volScalarField> Foam::forces::mu() const
     }
     else
     {
-        FatalErrorIn("forces::mu()")
+        FatalErrorInFunction
             << "No valid model for dynamic viscosity calculation"
             << exit(FatalError);
 
@@ -341,7 +341,7 @@ Foam::scalar Foam::forces::rho(const volScalarField& p) const
     {
         if (rhoName_ != "rhoInf")
         {
-            FatalErrorIn("forces::rho(const volScalarField& p)")
+            FatalErrorInFunction
                 << "Dynamic pressure is expected but kinematic is provided."
                 << exit(FatalError);
         }
@@ -560,16 +560,8 @@ Foam::forces::forces
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "Foam::forces::forces"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 
@@ -694,10 +686,8 @@ void Foam::forces::read(const dictionary& dict)
 
             if (nBin_ < 0)
             {
-                FatalIOErrorIn
-                (
-                    "void Foam::forces::read(const dictionary&)", dict
-                )   << "Number of bins (nBin) must be zero or greater"
+                FatalIOErrorInFunction(dict)
+                    << "Number of bins (nBin) must be zero or greater"
                     << exit(FatalIOError);
             }
             else if ((nBin_ == 0) || (nBin_ == 1))
@@ -913,7 +903,7 @@ void Foam::forces::calcForcesMoment()
 
         if (models.empty())
         {
-            WarningIn("void Foam::forces::calcForcesMoment()")
+            WarningInFunction
                 << "Porosity effects requested, but no porosity models found "
                 << "in the database"
                 << endl;
diff --git a/src/postProcessing/functionObjects/fvTools/calcFvcDiv/calcFvcDiv.C b/src/postProcessing/functionObjects/fvTools/calcFvcDiv/calcFvcDiv.C
index 8c951de8ecf..63b657a3e9f 100644
--- a/src/postProcessing/functionObjects/fvTools/calcFvcDiv/calcFvcDiv.C
+++ b/src/postProcessing/functionObjects/fvTools/calcFvcDiv/calcFvcDiv.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -94,16 +94,8 @@ Foam::calcFvcDiv::calcFvcDiv
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "calcFvcDiv::calcFvcDiv"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating." << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating." << nl
             << endl;
     }
 
@@ -145,7 +137,7 @@ void Foam::calcFvcDiv::execute()
 
         if (!processed)
         {
-            WarningIn("void Foam::calcFvcDiv::write()")
+            WarningInFunction
                 << "Unprocessed field " << fieldName_ << endl;
         }
     }
diff --git a/src/postProcessing/functionObjects/fvTools/calcFvcGrad/calcFvcGrad.C b/src/postProcessing/functionObjects/fvTools/calcFvcGrad/calcFvcGrad.C
index c0642ecf01b..96a62f3df86 100644
--- a/src/postProcessing/functionObjects/fvTools/calcFvcGrad/calcFvcGrad.C
+++ b/src/postProcessing/functionObjects/fvTools/calcFvcGrad/calcFvcGrad.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,8 @@ Foam::calcFvcGrad::calcFvcGrad
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "calcFvcGrad::calcFvcGrad"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating." << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating." << nl
             << endl;
     }
 
@@ -107,7 +99,7 @@ void Foam::calcFvcGrad::execute()
 
         if (!processed)
         {
-            WarningIn("void Foam::calcFvcGrad::write()")
+            WarningInFunction
                 << "Unprocessed field " << fieldName_ << endl;
         }
     }
diff --git a/src/postProcessing/functionObjects/fvTools/calcMag/calcMag.C b/src/postProcessing/functionObjects/fvTools/calcMag/calcMag.C
index d853aaf00dc..f867746c3c8 100644
--- a/src/postProcessing/functionObjects/fvTools/calcMag/calcMag.C
+++ b/src/postProcessing/functionObjects/fvTools/calcMag/calcMag.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,8 @@ Foam::calcMag::calcMag
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "calcMag::calcMag"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating." << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating." << nl
             << endl;
     }
 
@@ -110,7 +102,7 @@ void Foam::calcMag::execute()
 
         if (!processed)
         {
-            WarningIn("void Foam::calcMag::write()")
+            WarningInFunction
                 << "Unprocessed field " << fieldName_ << endl;
         }
     }
diff --git a/src/postProcessing/functionObjects/systemCall/systemCall.C b/src/postProcessing/functionObjects/systemCall/systemCall.C
index 8a2df60b44b..1ad82b58d35 100644
--- a/src/postProcessing/functionObjects/systemCall/systemCall.C
+++ b/src/postProcessing/functionObjects/systemCall/systemCall.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,13 +70,13 @@ void Foam::systemCall::read(const dictionary& dict)
 
     if (executeCalls_.empty() && endCalls_.empty() && writeCalls_.empty())
     {
-        WarningIn("Foam::system::read(const dictionary&)")
+        WarningInFunction
             << "no executeCalls, endCalls or writeCalls defined."
             << endl;
     }
     else if (!dynamicCode::allowSystemOperations)
     {
-        FatalErrorIn("systemCall::read(const dictionary&)")
+        FatalErrorInFunction
             << "Executing user-supplied system calls is not enabled by "
             << "default because of " << nl
             << "security issues.  If you trust the case you can enable this "
diff --git a/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C b/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C
index 5653a6a177a..89506ebc96b 100644
--- a/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C
+++ b/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C
@@ -74,16 +74,8 @@ Foam::CourantNo::CourantNo
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "CourantNo::CourantNo"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C b/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C
index 3c72fbfd9b5..1fc38cd5bf1 100644
--- a/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C
+++ b/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,8 @@ Foam::Lambda2::Lambda2
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "Lambda2::Lambda2"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C b/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C
index 18ac5843321..076d3b47ed4 100644
--- a/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C
+++ b/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C
@@ -59,16 +59,8 @@ Foam::Peclet::Peclet
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "Peclet::Peclet"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
@@ -179,7 +171,7 @@ void Foam::Peclet::execute()
         }
         else
         {
-            FatalErrorIn("void Foam::Peclet::write()")
+            FatalErrorInFunction
                 << "Unable to determine the viscosity"
                 << exit(FatalError);
         }
diff --git a/src/postProcessing/functionObjects/utilities/Q/Q.C b/src/postProcessing/functionObjects/utilities/Q/Q.C
index 2dda80a88ba..1e13c375a93 100644
--- a/src/postProcessing/functionObjects/utilities/Q/Q.C
+++ b/src/postProcessing/functionObjects/utilities/Q/Q.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,16 +55,8 @@ Foam::Q::Q
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "Q::Q"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.C b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.C
index 3c98c9d86f2..05da696bae8 100644
--- a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.C
+++ b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,16 +54,8 @@ Foam::blendingFactor::blendingFactor
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "blendingFactor::blendingFactor"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C
index 3a284b8c731..78cb411a3c5 100644
--- a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C
+++ b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -99,7 +99,7 @@ void Foam::blendingFactor::calc()
 
     if (!isA<blendedSchemeBase<Type> >(interpScheme))
     {
-        FatalErrorIn("void Foam::blendingFactor::execute()")
+        FatalErrorInFunction
             << interpScheme.typeName << " is not a blended scheme"
             << exit(FatalError);
     }
diff --git a/src/postProcessing/functionObjects/utilities/dsmcFields/dsmcFields.C b/src/postProcessing/functionObjects/utilities/dsmcFields/dsmcFields.C
index dd9400bb94f..121a9af2300 100644
--- a/src/postProcessing/functionObjects/utilities/dsmcFields/dsmcFields.C
+++ b/src/postProcessing/functionObjects/utilities/dsmcFields/dsmcFields.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,16 +58,8 @@ Foam::dsmcFields::dsmcFields
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "dsmcFields::dsmcFields"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.C b/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.C
index e760f43107b..1d9013d96e6 100644
--- a/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.C
+++ b/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -204,16 +204,8 @@ Foam::pressureTools::pressureTools
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "pressureTools::pressureTools"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
@@ -290,7 +282,7 @@ void Foam::pressureTools::read(const dictionary& dict)
 
             if (mag(zeroCheck) < ROOTVSMALL)
             {
-                WarningIn("void Foam::pressureTools::read(const dictionary&)")
+                WarningInFunction
                     << type() << " " << name_ << ": "
                     << "Coefficient calculation requested, but reference "
                     << "pressure level is zero.  Please check the supplied "
diff --git a/src/postProcessing/functionObjects/utilities/residuals/residuals.C b/src/postProcessing/functionObjects/utilities/residuals/residuals.C
index 52683412f78..d156ecd3e6a 100644
--- a/src/postProcessing/functionObjects/utilities/residuals/residuals.C
+++ b/src/postProcessing/functionObjects/utilities/residuals/residuals.C
@@ -56,16 +56,8 @@ Foam::residuals::residuals
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "residuals::residuals"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C b/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C
index 97dde676111..b3412b0555c 100644
--- a/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C
+++ b/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C
@@ -294,7 +294,7 @@ void Foam::scalarTransport::execute()
         }
         else
         {
-            FatalErrorIn("void Foam::scalarTransport::execute()")
+            FatalErrorInFunction
                 << "Incompatible dimensions for phi: " << phi.dimensions() << nl
                 << "Dimensions should be " << dimMass/dimTime << " or "
                 << dimVolume/dimTime << endl;
diff --git a/src/postProcessing/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C b/src/postProcessing/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C
index a8d540771b3..e4c664e6c95 100644
--- a/src/postProcessing/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C
+++ b/src/postProcessing/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -132,7 +132,7 @@ bool Foam::setTimeStepFunctionObject::read(const dictionary& dict)
          || !adjust
         )
         {
-            FatalIOErrorIn("setTimeStep::read(const dictionary&)", dict)
+            FatalIOErrorInFunction(dict)
                 << "Need to have 'adjustTimeStep' true to enable external"
                 << " timestep control" << exit(FatalIOError);
         }
diff --git a/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C b/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
index 91d5f381f60..3c57c06fcb4 100644
--- a/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
+++ b/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -106,7 +106,7 @@ void Foam::timeActivatedFileUpdate::read(const dictionary& dict)
             timeVsFile_[i].second() = timeVsFile_[i].second().expand();
             if (!isFile(timeVsFile_[i].second()))
             {
-                FatalErrorIn("timeActivatedFileUpdate::read(const dictionary&)")
+                FatalErrorInFunction
                     << "File: " << timeVsFile_[i].second() << " not found"
                     << nl << exit(FatalError);
             }
diff --git a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.C b/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.C
index 6a16f35c137..85c33035e5d 100644
--- a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.C
+++ b/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.C
@@ -80,7 +80,7 @@ bool Foam::turbulenceFields::compressible()
     }
     else
     {
-        WarningIn("Foam::word& Foam::turbulenceFields::compressible() const")
+        WarningInFunction
             << "Turbulence model not found in database, deactivating";
         active_ = false;
     }
@@ -112,16 +112,8 @@ Foam::turbulenceFields::turbulenceFields
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "turbulenceFields::turbulenceFields"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 }
@@ -220,7 +212,7 @@ void Foam::turbulenceFields::execute()
                 }
                 default:
                 {
-                    FatalErrorIn("void Foam::turbulenceFields::execute()")
+                    FatalErrorInFunction
                         << "Invalid field selection" << abort(FatalError);
                 }
             }
@@ -268,7 +260,7 @@ void Foam::turbulenceFields::execute()
                 }
                 default:
                 {
-                    FatalErrorIn("void Foam::turbulenceFields::execute()")
+                    FatalErrorInFunction
                         << "Invalid field selection" << abort(FatalError);
                 }
             }
diff --git a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFieldsTemplates.C b/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFieldsTemplates.C
index 0d067cc168f..e5746b6b4bf 100644
--- a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFieldsTemplates.C
+++ b/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFieldsTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,14 +46,8 @@ void Foam::turbulenceFields::processField
     }
     else if (obr_.found(scopedName))
     {
-        WarningIn
-        (
-            "void Foam::turbulenceFields::processField"
-            "("
-                "const word&, "
-                "const tmp<GeometricField<Type, fvPatchField, volMesh> >&"
-            ")"
-        )   << "Cannot store turbulence field " << scopedName
+        WarningInFunction
+            << "Cannot store turbulence field " << scopedName
             << " since an object with that name already exists"
             << nl << endl;
     }
diff --git a/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C b/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C
index ac9c5e392c6..5fb24ce1f75 100644
--- a/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C
+++ b/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,8 @@ Foam::vorticity::vorticity
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "vorticity::vorticity"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C b/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C
index 4271fa5394e..7f86ed69441 100644
--- a/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C
+++ b/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C
@@ -110,16 +110,8 @@ Foam::wallShearStress::wallShearStress
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "wallShearStress::wallShearStress"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
@@ -207,7 +199,7 @@ void Foam::wallShearStress::read(const dictionary& dict)
                 }
                 else
                 {
-                    WarningIn("void wallShearStress::read(const dictionary&)")
+                    WarningInFunction
                         << "Requested wall shear stress on non-wall boundary "
                         << "type patch: " << pbm[patchI].name() << endl;
                 }
@@ -258,7 +250,7 @@ void Foam::wallShearStress::execute()
         }
         else
         {
-            FatalErrorIn("void Foam::wallShearStress::execute()")
+            FatalErrorInFunction
                 << "Unable to find turbulence model in the "
                 << "database" << exit(FatalError);
         }
diff --git a/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C b/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C
index 119a0f895dc..3fa8fb613bf 100644
--- a/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C
+++ b/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C
@@ -72,16 +72,8 @@ Foam::yPlus::yPlus
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "yPlus::yPlus"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
@@ -165,7 +157,7 @@ void Foam::yPlus::execute()
         }
         else
         {
-            FatalErrorIn("void Foam::yPlus::write()")
+            FatalErrorInFunction
                 << "Unable to find turbulence model in the "
                 << "database" << exit(FatalError);
         }
diff --git a/src/randomProcesses/Kmesh/Kmesh.C b/src/randomProcesses/Kmesh/Kmesh.C
index a251459de00..5bc6ad1de3d 100644
--- a/src/randomProcesses/Kmesh/Kmesh.C
+++ b/src/randomProcesses/Kmesh/Kmesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -73,7 +73,7 @@ Foam::Kmesh::Kmesh(const fvMesh& mesh)
 
     if (nTot != mesh.nCells())
     {
-        FatalErrorIn("Kmesh::Kmesh(const fvMesh& mesh)")
+        FatalErrorInFunction
             << "calculated number of cells is incorrect"
             << abort(FatalError);
     }
diff --git a/src/randomProcesses/fft/fft.C b/src/randomProcesses/fft/fft.C
index a438bd3357e..fdc5e856ed1 100644
--- a/src/randomProcesses/fft/fft.C
+++ b/src/randomProcesses/fft/fft.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,11 +51,8 @@ void fft::transform
         unsigned int dimCount = nn[idim];
         if (!dimCount || (dimCount & (dimCount - 1)))
         {
-            FatalErrorIn
-            (
-                 "fft::transform(complexField&, const labelList&, "
-                 "transformDirection)"
-            )   << "number of elements in direction " << idim
+            FatalErrorInFunction
+                << "number of elements in direction " << idim
                 << " is not a power of 2" << endl
                 << "    Number of elements in each direction = " << nn
                 << abort(FatalError);
diff --git a/src/randomProcesses/noise/noiseFFT.C b/src/randomProcesses/noise/noiseFFT.C
index a262125121f..88cbe3c5ba1 100644
--- a/src/randomProcesses/noise/noiseFFT.C
+++ b/src/randomProcesses/noise/noiseFFT.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,7 +59,7 @@ Foam::noiseFFT::noiseFFT(const fileName& pFileName, const label skip)
     // Check pFile stream is OK
     if (!pFile.good())
     {
-        FatalErrorIn("noiseFFT::noiseFFT(const scalar, const scalarField&)")
+        FatalErrorInFunction
             << "Cannot read file " << pFileName
             << exit(FatalError);
     }
@@ -74,10 +74,7 @@ Foam::noiseFFT::noiseFFT(const fileName& pFileName, const label skip)
 
             if (!pFile.good() || pFile.eof())
             {
-                FatalErrorIn
-                (
-                    "noiseFFT::noiseFFT(const scalar, const scalarField&)"
-                )
+                FatalErrorInFunction
                     << "Number of points in file " << pFileName
                     << " is less than the number to be skipped = " << skip
                     << exit(FatalError);
@@ -134,7 +131,7 @@ Foam::tmp<Foam::scalarField> Foam::noiseFFT::window
 
     if ((N + ni*windowOffset) > size())
     {
-        FatalErrorIn("noiseFFT::window(const label, const label) const")
+        FatalErrorInFunction
             << "Requested window is outside set of data" << endl
             << "number of data = " << size() << endl
             << "size of window = " << N << endl
@@ -213,7 +210,7 @@ Foam::graph Foam::noiseFFT::meanPf
 {
     if (N > size())
     {
-        FatalErrorIn("noiseFFT::meanPf(const label, const label) const")
+        FatalErrorInFunction
             << "Requested window is outside set of data" << nl
             << "number of data = " << size() << nl
             << "size of window = " << N << nl
@@ -259,7 +256,7 @@ Foam::graph Foam::noiseFFT::RMSmeanPf
 {
     if (N > size())
     {
-        FatalErrorIn("noiseFFT::RMSmeanPf(const label, const label) const")
+        FatalErrorInFunction
             << "Requested window is outside set of data" << endl
             << "number of data = " << size() << endl
             << "size of window = " << N << endl
diff --git a/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C b/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C
index 6d695a87ae4..89973ded9c0 100644
--- a/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C
+++ b/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C
@@ -130,7 +130,7 @@ kappa() const
 
         case UNDEFINED:
         {
-            FatalErrorIn("energyRegionCoupledFvPatchScalarField::kappa() const")
+            FatalErrorInFunction
                     << " on mesh " << this->db().name() << " patch "
                     << patch().name()
                     << " could not find a method in. Methods are:  "
@@ -255,16 +255,7 @@ energyRegionCoupledFvPatchScalarField
 
     if (!isA<regionCoupledBase>(this->patch().patch()))
     {
-        FatalErrorIn
-        (
-            "energyRegionCoupledFvPatchScalarField::"
-            "energyRegionCoupledFvPatchScalarField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<scalar, volMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n"
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not type '" << regionCoupledBase::typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << dimensionedInternalField().name()
diff --git a/src/regionModels/pyrolysisModels/noPyrolysis/noPyrolysis.C b/src/regionModels/pyrolysisModels/noPyrolysis/noPyrolysis.C
index 62916c61a67..55347678064 100644
--- a/src/regionModels/pyrolysisModels/noPyrolysis/noPyrolysis.C
+++ b/src/regionModels/pyrolysisModels/noPyrolysis/noPyrolysis.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -178,7 +178,7 @@ tmp<volScalarField> noPyrolysis::kappa() const
 
 const surfaceScalarField& noPyrolysis::phiGas() const
 {
-    FatalErrorIn("const volScalarField& noPyrolysis::phiGas() const")
+    FatalErrorInFunction
         << "phiGas field not available for " << type() << abort(FatalError);
     return surfaceScalarField::null();
 }
diff --git a/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelCollection.C b/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelCollection.C
index afca8c66149..db59153cb01 100644
--- a/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelCollection.C
+++ b/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelCollection.C
@@ -124,7 +124,7 @@ void pyrolysisModelCollection::evolve()
         {
             if (pyrolysis.primaryMesh().changing())
             {
-                FatalErrorIn("pyrolysisModelCollection::evolve()")
+                FatalErrorInFunction
                     << "Currently not possible to apply "
                     << pyrolysis.modelName()
                     << " model to moving mesh cases" << nl<< abort(FatalError);
diff --git a/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelNew.C b/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelNew.C
index 958dafdef13..ea38a60f47e 100644
--- a/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelNew.C
+++ b/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -68,7 +68,7 @@ autoPtr<pyrolysisModel> pyrolysisModel::New
 
     if (cstrIter == meshConstructorTablePtr_->end())
     {
-        FatalErrorIn("pyrolysisModel::New(const fvMesh&, const word&)")
+        FatalErrorInFunction
             << "Unknown pyrolysisModel type " << modelType
             << nl << nl << "Valid pyrolisisModel types are:" << nl
             << meshConstructorTablePtr_->sortedToc()
@@ -96,15 +96,7 @@ autoPtr<pyrolysisModel> pyrolysisModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "pyrolysisModel::New"
-            "("
-                "const fvMesh&, "
-                "const dictionary&, "
-                "const word&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Unknown pyrolysisModel type " << modelType
             << nl << nl << "Valid pyrolisisModel types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisRadiativeCoupledMixed/filmPyrolysisRadiativeCoupledMixedFvPatchScalarField.C b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisRadiativeCoupledMixed/filmPyrolysisRadiativeCoupledMixedFvPatchScalarField.C
index 565130dee59..dca7846ca61 100644
--- a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisRadiativeCoupledMixed/filmPyrolysisRadiativeCoupledMixedFvPatchScalarField.C
+++ b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisRadiativeCoupledMixed/filmPyrolysisRadiativeCoupledMixedFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,13 +55,7 @@ filmModel() const
         modelNames.append(iter()->regionMesh().name());
     }
 
-    FatalErrorIn
-    (
-        "const filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::"
-        "filmModelType& "
-        "filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::"
-        "filmModel() const"
-    )
+    FatalErrorInFunction
         << "Unable to locate film region " << filmRegionName_
         << ".  Available regions include: " << modelNames
         << abort(FatalError);
@@ -93,13 +87,7 @@ pyrModel() const
     }
 
 
-    FatalErrorIn
-    (
-        "const filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::"
-        "pyrolysisModelType& "
-        "filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::"
-        "pyrModel() const"
-    )
+    FatalErrorInFunction
         << "Unable to locate pyrolysis region " << pyrolysisRegionName_
         << ".  Available regions include: " << modelNames
         << abort(FatalError);
@@ -180,16 +168,7 @@ filmPyrolysisRadiativeCoupledMixedFvPatchScalarField
 {
     if (!isA<mappedPatchBase>(this->patch().patch()))
     {
-        FatalErrorIn
-        (
-            "filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::"
-            "filmPyrolysisRadiativeCoupledMixedFvPatchScalarField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<scalar, volMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n"
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not type '" << mappedPatchBase::typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << dimensionedInternalField().name()
@@ -312,11 +291,7 @@ void filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn
-        (
-            "void filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::"
-            "updateCoeffs()"
-        )
+        FatalErrorInFunction
             << type() << " condition is intended to be applied to either the "
             << "primary or pyrolysis regions only"
             << exit(FatalError);
diff --git a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C
index 4b7bdef10b4..0547612288e 100644
--- a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C
+++ b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -185,10 +185,8 @@ void Foam::filmPyrolysisVelocityCoupledFvPatchVectorField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn
-        (
-            "filmPyrolysisVelocityCoupledFvPatchVectorField::updateCoeffs()"
-        )   << "Unable to process flux field phi with dimensions "
+        FatalErrorInFunction
+            << "Unable to process flux field phi with dimensions "
             << phi.dimensions() << nl
             << "    on patch " << patch().name()
             << " of field " << dimensionedInternalField().name()
diff --git a/src/regionModels/regionModel/regionModel/regionModel.C b/src/regionModels/regionModel/regionModel/regionModel.C
index 4ee88f0c8ac..b1d516ce03e 100644
--- a/src/regionModels/regionModel/regionModel/regionModel.C
+++ b/src/regionModels/regionModel/regionModel/regionModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -138,7 +138,7 @@ void Foam::regionModels::regionModel::initialise()
 
     if (returnReduce(nBoundaryFaces, sumOp<label>()) == 0)
     {
-        WarningIn("regionModel::initialise()")
+        WarningInFunction
             << "Region model has no mapped boundary conditions - transfer "
             << "between regions will not be possible" << endl;
     }
@@ -317,14 +317,7 @@ Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID
 
     if (regionPatchI > pbm.size() - 1)
     {
-        FatalErrorIn
-        (
-            "Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID"
-            "("
-                "const regionModel&, "
-                "const label"
-            ") const"
-        )
+        FatalErrorInFunction
             << "region patch index out of bounds: "
             << "region patch index = " << regionPatchI
             << ", maximum index = " << pbm.size() - 1
@@ -335,14 +328,7 @@ Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID
 
     if (!isA<mappedPatchBase>(pp))
     {
-        FatalErrorIn
-        (
-            "Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID"
-            "("
-                "const regionModel&, "
-                "const label"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Expected a " << mappedPatchBase::typeName
             << " patch, but found a " << pp.type() << abort(FatalError);
     }
@@ -371,14 +357,7 @@ Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID
     {
         const polyPatch& p = regionMesh().boundaryMesh()[regionPatchI];
 
-        FatalErrorIn
-        (
-            "Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID"
-            "("
-                "const regionModel&, "
-                "const label"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Unable to find patch pair for local patch "
             << p.name() << " and region " << nbrRegion.name()
             << abort(FatalError);
diff --git a/src/regionModels/regionModel/regionModel/regionModelI.H b/src/regionModels/regionModel/regionModel/regionModelI.H
index 95defc744ed..e04513125a5 100644
--- a/src/regionModels/regionModel/regionModel/regionModelI.H
+++ b/src/regionModels/regionModel/regionModel/regionModelI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -66,11 +66,8 @@ inline const Foam::fvMesh& Foam::regionModels::regionModel::regionMesh() const
     }
     else if (!regionMeshPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "inline const Foam::fvMesh&"
-            "Foam::regionModels::regionModel::regionMesh() const"
-        )<< "Region mesh not available" << abort(FatalError);
+        FatalErrorInFunction
+         << "Region mesh not available" << abort(FatalError);
     }
 
     return regionMeshPtr_();
@@ -88,11 +85,8 @@ inline Foam::fvMesh& Foam::regionModels::regionModel::regionMesh()
     }
     else if (!regionMeshPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "inline Foam::fvMesh&"
-            "Foam::regionModels::regionModel::regionMesh()"
-        )<< "Region mesh not available" << abort(FatalError);
+        FatalErrorInFunction
+         << "Region mesh not available" << abort(FatalError);
     }
 
     return regionMeshPtr_();
@@ -117,11 +111,7 @@ Foam::regionModels::regionModel::outputProperties() const
 {
     if (!outputPropertiesPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "inline const Foam::IOdictionary& "
-            "Foam::regionModels::regionModel::outputProperties() const"
-        )
+        FatalErrorInFunction
             << "outputProperties dictionary not available"
             << abort(FatalError);
     }
@@ -135,11 +125,7 @@ Foam::regionModels::regionModel::outputProperties()
 {
     if (!outputPropertiesPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "inline Foam::IOdictionary& "
-            "Foam::regionModels::regionModel::outputProperties()"
-        )
+        FatalErrorInFunction
             << "outputProperties dictionary not available"
             << abort(FatalError);
     }
diff --git a/src/regionModels/regionModel/regionModel/regionModelTemplates.C b/src/regionModels/regionModel/regionModel/regionModelTemplates.C
index dad46878ab2..c100552632f 100644
--- a/src/regionModels/regionModel/regionModel/regionModelTemplates.C
+++ b/src/regionModels/regionModel/regionModel/regionModelTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -177,7 +177,7 @@ void Foam::regionModels::regionModel::toPrimary
         }
     }
 
-    FatalErrorIn("const void toPrimary(const label, List<Type>&) const")
+    FatalErrorInFunction
         << "Region patch ID " << regionPatchI << " not found in region mesh"
         << abort(FatalError);
 }
@@ -204,7 +204,7 @@ void Foam::regionModels::regionModel::toRegion
         }
     }
 
-    FatalErrorIn("const void toRegion(const label, List<Type>&) const")
+    FatalErrorInFunction
         << "Region patch ID " << regionPatchI << " not found in region mesh"
         << abort(FatalError);
 }
@@ -232,15 +232,8 @@ void Foam::regionModels::regionModel::toPrimary
         }
     }
 
-    FatalErrorIn
-    (
-        "const void toPrimary"
-        "("
-            "const label, "
-            "List<Type>&, "
-            "const CombineOp&"
-        ") const"
-    )   << "Region patch ID " << regionPatchI << " not found in region mesh"
+    FatalErrorInFunction
+        << "Region patch ID " << regionPatchI << " not found in region mesh"
         << abort(FatalError);
 }
 
@@ -267,10 +260,8 @@ void Foam::regionModels::regionModel::toRegion
         }
     }
 
-    FatalErrorIn
-    (
-        "const void toRegion(const label, List<Type>&, const CombineOp&) const"
-    )   << "Region patch ID " << regionPatchI << " not found in region mesh"
+    FatalErrorInFunction
+        << "Region patch ID " << regionPatchI << " not found in region mesh"
         << abort(FatalError);
 }
 
diff --git a/src/regionModels/regionModel/regionModel1D/regionModel1DI.H b/src/regionModels/regionModel/regionModel1D/regionModel1DI.H
index 27530828a70..fcc918fb646 100644
--- a/src/regionModels/regionModel/regionModel1D/regionModel1DI.H
+++ b/src/regionModels/regionModel/regionModel1D/regionModel1DI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,11 +53,8 @@ Foam::regionModels::regionModel1D::nMagSf() const
 {
     if (!nMagSfPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "inline const Foam::surfaceScalarField&"
-            "Foam::regionModel1Ds::regionModel1D::nMagSf() const"
-        )<< "Face normal areas not available" << abort(FatalError);
+        FatalErrorInFunction
+         << "Face normal areas not available" << abort(FatalError);
     }
 
     return nMagSfPtr_();
diff --git a/src/regionModels/regionModel/regionModelFunctionObject/regionModelFunctionObject/regionModelFunctionObjectNew.C b/src/regionModels/regionModel/regionModelFunctionObject/regionModelFunctionObject/regionModelFunctionObjectNew.C
index 11371b1f796..3b41bc8d3bc 100644
--- a/src/regionModels/regionModel/regionModelFunctionObject/regionModelFunctionObject/regionModelFunctionObjectNew.C
+++ b/src/regionModels/regionModel/regionModelFunctionObject/regionModelFunctionObject/regionModelFunctionObjectNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,15 +44,8 @@ Foam::regionModels::regionModelFunctionObject::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "regionModelFunctionObject::New"
-            "("
-                "const dictionary&, "
-                "regionModel&, "
-                "const word&"
-            ")"
-        )   << "Unknown region model function type "
+        FatalErrorInFunction
+            << "Unknown region model function type "
             << modelType << nl << nl
             << "Valid region model function types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/regionModels/regionModel/singleLayerRegion/singleLayerRegion.C b/src/regionModels/regionModel/singleLayerRegion/singleLayerRegion.C
index 35dce8b8795..aba31e75dd0 100644
--- a/src/regionModels/regionModel/singleLayerRegion/singleLayerRegion.C
+++ b/src/regionModels/regionModel/singleLayerRegion/singleLayerRegion.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -109,7 +109,7 @@ void Foam::regionModels::singleLayerRegion::initialise()
 
     if (nBoundaryFaces != regionMesh().nCells())
     {
-        FatalErrorIn("singleLayerRegion::initialise()")
+        FatalErrorInFunction
             << "Number of primary region coupled boundary faces not equal to "
             << "the number of cells in the local region" << nl << nl
             << "Number of cells = " << regionMesh().nCells() << nl
@@ -208,7 +208,7 @@ const Foam::volVectorField& Foam::regionModels::singleLayerRegion::nHat() const
 {
     if (!nHatPtr_.valid())
     {
-        FatalErrorIn("const fvMesh& singleLayerRegion::nHat() const")
+        FatalErrorInFunction
             << "Region patch normal vectors not available"
             << abort(FatalError);
     }
@@ -221,7 +221,7 @@ const Foam::volScalarField& Foam::regionModels::singleLayerRegion::magSf() const
 {
     if (!magSfPtr_.valid())
     {
-        FatalErrorIn("const fvMesh& singleLayerRegion::magSf() const")
+        FatalErrorInFunction
             << "Region patch areas not available"
             << abort(FatalError);
     }
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.C b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.C
index 65c389e0372..8bf37add3a0 100644
--- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.C
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -139,12 +139,7 @@ void Foam::inclinedFilmNusseltHeightFvPatchScalarField::updateCoeffs()
 
     if (patch().size() && (max(mag(gTan)) < SMALL))
     {
-        WarningIn
-        (
-            "void Foam::inclinedFilmNusseltHeightFvPatchScalarField::"
-            "updateCoeffs()"
-        )
-            << "Tangential gravity component is zero.  This boundary condition "
+        WarningInFunction
             << "is designed to operate on patches inclined with respect to "
             << "gravity"
             << endl;
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.C b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.C
index 67374b7b47b..a49c093b380 100644
--- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.C
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -138,12 +138,7 @@ void Foam::inclinedFilmNusseltInletVelocityFvPatchVectorField::updateCoeffs()
 
     if (patch().size() && (max(mag(gTan)) < SMALL))
     {
-        WarningIn
-        (
-            "void Foam::inclinedFilmNusseltInletVelocityFvPatchVectorField::"
-            "updateCoeffs()"
-        )
-            << "Tangential gravity component is zero.  This boundary condition "
+        WarningInFunction
             << "is designed to operate on patches inclined with respect to "
             << "gravity"
             << endl;
diff --git a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C
index ec9b1df7690..b881553f5c7 100644
--- a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C
+++ b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C
@@ -988,10 +988,8 @@ const volScalarField& kinematicSingleLayer::rho() const
 
 const volScalarField& kinematicSingleLayer::T() const
 {
-    FatalErrorIn
-    (
-        "const volScalarField& kinematicSingleLayer::T() const"
-    )   << "T field not available for " << type() << abort(FatalError);
+    FatalErrorInFunction
+        << "T field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
 }
@@ -999,10 +997,8 @@ const volScalarField& kinematicSingleLayer::T() const
 
 const volScalarField& kinematicSingleLayer::Ts() const
 {
-    FatalErrorIn
-    (
-        "const volScalarField& kinematicSingleLayer::Ts() const"
-    )   << "Ts field not available for " << type() << abort(FatalError);
+    FatalErrorInFunction
+        << "Ts field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
 }
@@ -1010,10 +1006,8 @@ const volScalarField& kinematicSingleLayer::Ts() const
 
 const volScalarField& kinematicSingleLayer::Tw() const
 {
-    FatalErrorIn
-    (
-        "const volScalarField& kinematicSingleLayer::Tw() const"
-    )   << "Tw field not available for " << type() << abort(FatalError);
+    FatalErrorInFunction
+        << "Tw field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
 }
@@ -1021,10 +1015,8 @@ const volScalarField& kinematicSingleLayer::Tw() const
 
 const volScalarField& kinematicSingleLayer::Cp() const
 {
-    FatalErrorIn
-    (
-        "const volScalarField& kinematicSingleLayer::Cp() const"
-    )   << "Cp field not available for " << type() << abort(FatalError);
+    FatalErrorInFunction
+        << "Cp field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
 }
@@ -1032,10 +1024,8 @@ const volScalarField& kinematicSingleLayer::Cp() const
 
 const volScalarField& kinematicSingleLayer::kappa() const
 {
-    FatalErrorIn
-    (
-        "const volScalarField& kinematicSingleLayer::kappa() const"
-    )   << "kappa field not available for " << type() << abort(FatalError);
+    FatalErrorInFunction
+        << "kappa field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
 }
diff --git a/src/regionModels/surfaceFilmModels/noFilm/noFilm.C b/src/regionModels/surfaceFilmModels/noFilm/noFilm.C
index b3d4827d707..30affb2af95 100644
--- a/src/regionModels/surfaceFilmModels/noFilm/noFilm.C
+++ b/src/regionModels/surfaceFilmModels/noFilm/noFilm.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -96,7 +96,7 @@ void noFilm::addSources
 
 const volScalarField& noFilm::delta() const
 {
-    FatalErrorIn("const volScalarField& noFilm::delta() const")
+    FatalErrorInFunction
         << "delta field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -105,7 +105,7 @@ const volScalarField& noFilm::delta() const
 
 const volScalarField& noFilm::alpha() const
 {
-    FatalErrorIn("const volScalarField& noFilm::alpha() const")
+    FatalErrorInFunction
         << "alpha field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -114,7 +114,7 @@ const volScalarField& noFilm::alpha() const
 
 const volVectorField& noFilm::U() const
 {
-    FatalErrorIn("const volVectorField& noFilm::U() const")
+    FatalErrorInFunction
         << "U field not available for " << type() << abort(FatalError);
 
     return volVectorField::null();
@@ -123,7 +123,7 @@ const volVectorField& noFilm::U() const
 
 const volVectorField& noFilm::Us() const
 {
-    FatalErrorIn("const volVectorField& noFilm::Us() const")
+    FatalErrorInFunction
         << "Us field not available for " << type() << abort(FatalError);
 
     return volVectorField::null();
@@ -132,7 +132,7 @@ const volVectorField& noFilm::Us() const
 
 const volVectorField& noFilm::Uw() const
 {
-    FatalErrorIn("const volVectorField& noFilm::Uw() const")
+    FatalErrorInFunction
         << "Uw field not available for " << type() << abort(FatalError);
 
     return volVectorField::null();
@@ -141,7 +141,7 @@ const volVectorField& noFilm::Uw() const
 
 const volScalarField& noFilm::rho() const
 {
-    FatalErrorIn("const volScalarField& noFilm::rho() const")
+    FatalErrorInFunction
         << "rho field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -150,7 +150,7 @@ const volScalarField& noFilm::rho() const
 
 const volScalarField& noFilm::T() const
 {
-    FatalErrorIn("const volScalarField& noFilm::T() const")
+    FatalErrorInFunction
         << "T field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -159,7 +159,7 @@ const volScalarField& noFilm::T() const
 
 const volScalarField& noFilm::Ts() const
 {
-    FatalErrorIn("const volScalarField& noFilm::Ts() const")
+    FatalErrorInFunction
         << "Ts field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -168,7 +168,7 @@ const volScalarField& noFilm::Ts() const
 
 const volScalarField& noFilm::Tw() const
 {
-    FatalErrorIn("const volScalarField& noFilm::Tw() const")
+    FatalErrorInFunction
         << "Tw field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -177,7 +177,7 @@ const volScalarField& noFilm::Tw() const
 
 const volScalarField& noFilm::Cp() const
 {
-    FatalErrorIn("const volScalarField& noFilm::Cp() const")
+    FatalErrorInFunction
         << "Cp field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -186,7 +186,7 @@ const volScalarField& noFilm::Cp() const
 
 const volScalarField& noFilm::kappa() const
 {
-    FatalErrorIn("const volScalarField& noFilm::kappa() const")
+    FatalErrorInFunction
         << "kappa field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -195,7 +195,7 @@ const volScalarField& noFilm::kappa() const
 
 const volScalarField& noFilm::sigma() const
 {
-    FatalErrorIn("const volScalarField& noFilm::sigma() const")
+    FatalErrorInFunction
         << "sigma field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -226,7 +226,7 @@ tmp<volScalarField> noFilm::primaryMassTrans() const
 
 const volScalarField& noFilm::cloudMassTrans() const
 {
-    FatalErrorIn("const volScalarField& noFilm::cloudMassTrans() const")
+    FatalErrorInFunction
         << "cloudMassTrans field not available for " << type()
         << abort(FatalError);
 
@@ -236,7 +236,7 @@ const volScalarField& noFilm::cloudMassTrans() const
 
 const volScalarField& noFilm::cloudDiameterTrans() const
 {
-    FatalErrorIn("const volScalarField& noFilm::cloudDiameterTrans() const")
+    FatalErrorInFunction
         << "cloudDiameterTrans field not available for " << type()
         << abort(FatalError);
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/filmSubModelBaseTemplates.C b/src/regionModels/surfaceFilmModels/submodels/filmSubModelBaseTemplates.C
index e7a7e98bee7..c9e8aa719bd 100644
--- a/src/regionModels/surfaceFilmModels/submodels/filmSubModelBaseTemplates.C
+++ b/src/regionModels/surfaceFilmModels/submodels/filmSubModelBaseTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -37,7 +37,7 @@ const FilmType& filmSubModelBase::filmType() const
 {
     if (!isA<FilmType>(owner_))
     {
-        FatalErrorIn("FilmType& surfaceFilmModel::film() const")
+        FatalErrorInFunction
             << "Model " << this->modelType() << " requested film type "
             << FilmType::typeName << " but film is type " << owner_.type()
             << abort(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModelNew.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModelNew.C
index b2622dde861..f177c506ac6 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,10 +51,8 @@ autoPtr<filmThermoModel> filmThermoModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "filmThermoModel::New(surfaceFilmModel&, const dictionary&)"
-        )   << "Unknown filmThermoModel type " << modelType << nl << nl
+        FatalErrorInFunction
+            << "Unknown filmThermoModel type " << modelType << nl << nl
             << "Valid filmThermoModel types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C
index cb18596cbef..c846a98d583 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,10 +56,7 @@ const thermoSingleLayer& liquidFilmThermo::thermoFilm() const
 {
     if (!isA<thermoSingleLayer>(owner_))
     {
-        FatalErrorIn
-        (
-            "const thermoSingleLayer& liquidFilmThermo::thermoFilm() const"
-        )
+        FatalErrorInFunction
             << "Thermo model requires a " << thermoSingleLayer::typeName
             << " film to supply the pressure and temperature, but "
             << owner_.type() << " film model selected.  "
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModelNew.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModelNew.C
index e5153a12be6..4485b6c87b5 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,14 +51,8 @@ autoPtr<filmTurbulenceModel> filmTurbulenceModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "filmTurbulenceModel::New"
-            "("
-                "surfaceFilmModel&, "
-                "const dictionary&"
-            ")"
-        )   << "Unknown filmTurbulenceModel type " << modelType
+        FatalErrorInFunction
+            << "Unknown filmTurbulenceModel type " << modelType
             << nl << nl << "Valid filmTurbulenceModel types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/forceNew.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/forceNew.C
index 54504590e20..c8c71f5888b 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/forceNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/forceNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,15 +50,8 @@ autoPtr<force> force::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "force::New"
-            "("
-                "const surfaceFilmModel&, "
-                "const dictionary&, "
-                "const word&"
-            ")"
-        )   << "Unknown force type " << modelType
+        FatalErrorInFunction
+            << "Unknown force type " << modelType
             << nl << nl << "Valid force types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C
index 47f84119005..8121a2ce5df 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -233,14 +233,7 @@ curvatureSeparation::curvatureSeparation
 {
     if (magG_ < ROOTVSMALL)
     {
-        FatalErrorIn
-        (
-            "curvatureSeparation::curvatureSeparation"
-            "("
-                "const surfaceFilmModel&, "
-                "const dictionary&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Acceleration due to gravity must be non-zero"
             << exit(FatalError);
     }
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModelNew.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModelNew.C
index 98ec969ae86..dcb17eec8dd 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,15 +50,8 @@ autoPtr<injectionModel> injectionModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "injectionModel::New"
-            "("
-                "surfaceFilmModel&, "
-                "const dictionary&, "
-                "const word&"
-            ")"
-        )   << "Unknown injectionModel type " << modelType
+        FatalErrorInFunction
+            << "Unknown injectionModel type " << modelType
             << nl << nl << "Valid injectionModel types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.C
index 8ad13750c90..0cc15d29543 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.C
@@ -85,7 +85,7 @@ patchInjection::patchInjection
 
     if (!patchIDs_.size())
     {
-        FatalErrorIn("patchInjection::patchInjection")
+        FatalErrorInFunction
             << "No patches selected"
             << exit(FatalError);
     }
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModelNew.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModelNew.C
index 1f5644fe24f..7167b32e49d 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,14 +51,8 @@ autoPtr<filmRadiationModel> filmRadiationModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "filmRadiationModel::New"
-            "("
-                "surfaceFilmModel&, "
-                "const dictionary&"
-            ")"
-        )   << "Unknown radiationModel type " << modelType << nl << nl
+        FatalErrorInFunction
+            << "Unknown radiationModel type " << modelType << nl << nl
             << "Valid filmRadiationModel types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C
index 6998028f412..daba92d47c4 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,15 +52,8 @@ autoPtr<filmViscosityModel> filmViscosityModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "filmViscosityModel::New"
-            "("
-                "surfaceFilmModel&, "
-                "const dictionary&, "
-                "volScalarField&"
-            ")"
-        )   << "Unknown filmViscosityModel type " << modelType
+        FatalErrorInFunction
+            << "Unknown filmViscosityModel type " << modelType
             << nl << nl << "Valid filmViscosityModel types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModelNew.C b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModelNew.C
index 33d01843f53..41df73789c6 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,10 +51,8 @@ autoPtr<heatTransferModel> heatTransferModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "heatTransferModel::New(surfaceFilmModel&, const dictionary&)"
-        )   << "Unknown heatTransferModel type " << modelType << nl << nl
+        FatalErrorInFunction
+            << "Unknown heatTransferModel type " << modelType << nl << nl
             << "Valid heatTransferModel types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModelNew.C b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModelNew.C
index 03a35f88114..e673ca36b28 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,10 +51,8 @@ autoPtr<phaseChangeModel> phaseChangeModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "phaseChangeModel::New(surfaceFilmModel&, const dictionary&)"
-        )   << "Unknown phaseChangeModel type " << modelType
+        FatalErrorInFunction
+            << "Unknown phaseChangeModel type " << modelType
             << nl << nl << "Valid phaseChangeModel types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C b/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C
index b1993748649..cfd451d4596 100644
--- a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C
+++ b/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -71,10 +71,8 @@ autoPtr<surfaceFilmModel> surfaceFilmModel::New
 
     if (cstrIter == meshConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "surfaceFilmModel::New(const fvMesh&, const dimensionedVector&)"
-        )   << "Unknown surfaceFilmModel type " << modelType
+        FatalErrorInFunction
+            << "Unknown surfaceFilmModel type " << modelType
             << nl << nl << "Valid surfaceFilmModel types are:" << nl
             << meshConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.C b/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.C
index aa3195cc6cb..2231b42999f 100644
--- a/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.C
+++ b/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -238,10 +238,8 @@ void thermalBaffleFvPatchScalarField::createPatchMesh()
 
     if (extrudeMeshPtr_.empty())
     {
-        WarningIn
-        (
-            "thermalBaffleFvPatchScalarField::createPatchMesh()\n"
-        )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+        WarningInFunction
+            << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
             << " patchMeshPtr not set."
             << endl;
     }
diff --git a/src/regionModels/thermalBaffleModels/noThermo/noThermo.C b/src/regionModels/thermalBaffleModels/noThermo/noThermo.C
index d603203fbf7..5e982fb62c5 100644
--- a/src/regionModels/thermalBaffleModels/noThermo/noThermo.C
+++ b/src/regionModels/thermalBaffleModels/noThermo/noThermo.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -87,7 +87,7 @@ void noThermo::evolveRegion()
 
 const tmp<volScalarField> noThermo::Cp() const
 {
-    FatalErrorIn("const tmp<volScalarField>& noThermo::Cp() const")
+    FatalErrorInFunction
         << "Cp field not available for " << type()
         << abort(FatalError);
 
@@ -112,7 +112,7 @@ const tmp<volScalarField> noThermo::Cp() const
 
 const volScalarField& noThermo::kappaRad() const
 {
-    FatalErrorIn("const volScalarField& noThermo::kappaRad() const")
+    FatalErrorInFunction
         << "kappa field not available for " << type()
         << abort(FatalError);
     return volScalarField::null();
@@ -121,7 +121,7 @@ const volScalarField& noThermo::kappaRad() const
 
 const volScalarField& noThermo::rho() const
 {
-    FatalErrorIn("const volScalarField& noThermo::rho() const")
+    FatalErrorInFunction
         << "rho field not available for " << type()
         << abort(FatalError);
     return volScalarField::null();
@@ -130,7 +130,7 @@ const volScalarField& noThermo::rho() const
 
 const volScalarField& noThermo::kappa() const
 {
-   FatalErrorIn("const volScalarField& noThermo::kappa() const")
+   FatalErrorInFunction
         << "K field not available for " << type()
         << abort(FatalError);
     return volScalarField::null();
@@ -139,7 +139,7 @@ const volScalarField& noThermo::kappa() const
 
 const volScalarField& noThermo::T() const
 {
-    FatalErrorIn("const volScalarField& noThermo::T() const")
+    FatalErrorInFunction
         << "T field not available for " << type()
         << abort(FatalError);
     return volScalarField::null();
@@ -148,7 +148,7 @@ const volScalarField& noThermo::T() const
 
 const solidThermo& noThermo::thermo() const
 {
-    FatalErrorIn("const volScalarField& noThermo::T() const")
+    FatalErrorInFunction
         << "T field not available for " << type()
         << abort(FatalError);
     return NullObjectRef<solidThermo>();
diff --git a/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C b/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C
index bd6c507c23f..f63ccde2389 100644
--- a/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C
+++ b/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -293,7 +293,7 @@ void thermalBaffle::init()
 
         if (Qsb!= thickness_.size())
         {
-            FatalErrorIn("thermalBaffle::init()")
+            FatalErrorInFunction
                 << "the boundary field of Qs is "
                 << Qsb << " and " << nl
                 << "the field 'thickness' is " << thickness_.size() << nl
diff --git a/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModel.C b/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModel.C
index 5e9f2e620de..c432d922a83 100644
--- a/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModel.C
+++ b/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -114,14 +114,7 @@ void thermalBaffleModel::init()
              && !constantThickness_
             )
             {
-                FatalErrorIn
-                (
-                    "thermalBaffleModel::thermalBaffleModel"
-                    "("
-                    "   const word&,"
-                    "   const fvMesh&"
-                    ")"
-                )   << "\n    patch type '" << pp.type()
+                FatalErrorInFunction
                     << "' not type '"
                     << mappedVariableThicknessWallPolyPatch::typeName
                     << "'. This is necessary for 1D solution "
@@ -131,14 +124,7 @@ void thermalBaffleModel::init()
             }
             else if (!isA<mappedWallPolyPatch>(pp))
             {
-                FatalErrorIn
-                (
-                    "thermalBaffleModel::thermalBaffleModel"
-                    "("
-                    "   const word&,"
-                    "   const fvMesh&"
-                    ")"
-                )   << "\n    patch type '" << pp.type()
+                FatalErrorInFunction
                     << "' not type '"
                     << mappedWallPolyPatch::typeName
                     << "'. This is necessary for 3D solution"
@@ -162,14 +148,8 @@ void thermalBaffleModel::init()
             // Check that thickness has the right size
             if (thickness_.size() != pp.size())
             {
-                FatalErrorIn
-                (
-                    "thermalBaffleModel::thermalBaffleModel"
-                    "("
-                    "   const word&,"
-                    "   const fvMesh&"
-                    ")"
-                )   << " coupled patches in thermalBaffle are " << nl
+                FatalErrorInFunction
+                    << " coupled patches in thermalBaffle are " << nl
                     << " different sizes from list thickness" << nl
                     << exit(FatalError);
             }
diff --git a/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModelNew.C b/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModelNew.C
index 9b77f067cff..30703d258f6 100644
--- a/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModelNew.C
+++ b/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -67,7 +67,7 @@ autoPtr<thermalBaffleModel> thermalBaffleModel::New(const fvMesh& mesh)
     if (cstrIter == meshConstructorTablePtr_->end())
     {
 
-        FatalErrorIn("thermalBaffleModel::New(const fvMesh&)")
+        FatalErrorInFunction
             << "Unknown thermalBaffleModel type " << modelType
             << nl << nl
             <<  "Valid thermalBaffleModel types are:" << nl
@@ -94,10 +94,8 @@ autoPtr<thermalBaffleModel> thermalBaffleModel::New
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
 
-        FatalErrorIn
-        (
-            "thermalBaffleModel::New(const fvMesh&, const dictionary&)"
-        )   << "Unknown thermalBaffleModel type " << modelType
+        FatalErrorInFunction
+            << "Unknown thermalBaffleModel type " << modelType
             << nl << nl
             <<  "Valid thermalBaffleModel types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/renumber/renumberMethods/manualRenumber/manualRenumber.C b/src/renumber/renumberMethods/manualRenumber/manualRenumber.C
index 99ac60b666d..c530b788476 100644
--- a/src/renumber/renumberMethods/manualRenumber/manualRenumber.C
+++ b/src/renumber/renumberMethods/manualRenumber/manualRenumber.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -80,10 +80,8 @@ Foam::labelList Foam::manualRenumber::renumber
 
     if (newToOld.size() != points.size())
     {
-        FatalErrorIn
-        (
-            "manualRenumber::renumber(const pointField&, const scalarField&)"
-        )   << "Size of renumber list does not correspond "
+        FatalErrorInFunction
+            << "Size of renumber list does not correspond "
             << "to the number of points.  Size: "
             << newToOld.size() << " Number of points: "
             << points.size()
@@ -100,11 +98,8 @@ Foam::labelList Foam::manualRenumber::renumber
 
         if (origCellI < 0 || origCellI >= points.size())
         {
-            FatalErrorIn
-            (
-                "manualRenumber::renumber(const pointField&"
-                ", const scalarField&)"
-            )   << "Renumbering is not one-to-one. Index "
+            FatalErrorInFunction
+                << "Renumbering is not one-to-one. Index "
                 << i << " maps onto original cell " << origCellI
                 << ".\n" << "Manual renumbering data read from file "
                 << dataFile_ << "." << endl
@@ -117,11 +112,8 @@ Foam::labelList Foam::manualRenumber::renumber
         }
         else
         {
-            FatalErrorIn
-            (
-                "manualRenumber::renumber(const pointField&"
-                ", const scalarField&)"
-            )   << "Renumbering is not one-to-one. Both index "
+            FatalErrorInFunction
+                << "Renumbering is not one-to-one. Both index "
                 << oldToNew[origCellI]
                 << " and " << i << " map onto " << origCellI
                 << ".\n" << "Manual renumbering data read from file "
diff --git a/src/renumber/renumberMethods/renumberMethod/renumberMethod.C b/src/renumber/renumberMethods/renumberMethod/renumberMethod.C
index ef82af92f56..ab9980287a3 100644
--- a/src/renumber/renumberMethods/renumberMethod/renumberMethod.C
+++ b/src/renumber/renumberMethods/renumberMethod/renumberMethod.C
@@ -53,11 +53,8 @@ Foam::autoPtr<Foam::renumberMethod> Foam::renumberMethod::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "renumberMethod::New"
-            "(const dictionary& renumberDict)"
-        )   << "Unknown renumberMethod "
+        FatalErrorInFunction
+            << "Unknown renumberMethod "
             << methodType << nl << nl
             << "Valid renumberMethods are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C
index 289adba5c93..03830bd1ea2 100644
--- a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C
+++ b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -71,10 +71,8 @@ Foam::labelList Foam::structuredRenumber::renumber
 {
     if (points.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "structuredDecomp::renumber(const polyMesh&, const pointField&)"
-        )   << "Number of points " << points.size()
+        FatalErrorInFunction
+            << "Number of points " << points.size()
             << " should equal the number of cells " << mesh.nCells()
             << exit(FatalError);
     }
@@ -188,7 +186,7 @@ Foam::labelList Foam::structuredRenumber::renumber
         {
             if (!haveWarned)
             {
-                WarningIn("structuredDecomp::renumber(..)")
+                WarningInFunction
                     << "Did not visit some cells, e.g. cell " << cellI
                     << " at " << mesh.cellCentres()[cellI] << endl
                     << "Assigning these cells to domain 0." << endl;
diff --git a/src/renumber/zoltanRenumber/zoltanRenumber.C b/src/renumber/zoltanRenumber/zoltanRenumber.C
index 5118f0b82f1..ffd318fd70f 100644
--- a/src/renumber/zoltanRenumber/zoltanRenumber.C
+++ b/src/renumber/zoltanRenumber/zoltanRenumber.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -290,7 +290,7 @@ Foam::labelList Foam::zoltanRenumber::renumber
 
     if (rc != ZOLTAN_OK)
     {
-        FatalErrorIn("zoltanRenumber::renumber(..)")
+        FatalErrorInFunction
             << "Failed initialising Zoltan" << exit(FatalError);
     }
 
@@ -350,7 +350,7 @@ Foam::labelList Foam::zoltanRenumber::renumber
 
     if (err != ZOLTAN_OK)
     {
-        FatalErrorIn("zoltanRenumber::renumber(..)")
+        FatalErrorInFunction
             << "Failed Zoltan_Order" << exit(FatalError);
     }
 
diff --git a/src/sampling/cuttingPlane/cuttingPlane.C b/src/sampling/cuttingPlane/cuttingPlane.C
index f1d3b5c5eea..b20ffd66886 100644
--- a/src/sampling/cuttingPlane/cuttingPlane.C
+++ b/src/sampling/cuttingPlane/cuttingPlane.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -203,7 +203,7 @@ bool Foam::cuttingPlane::walkCell
         if (nextEdgeI == -1)
         {
             // Did not find another cut edge on faceI. Do what?
-            WarningIn("Foam::cuttingPlane::walkCell")
+            WarningInFunction
                 << "Did not find closed walk along surface of cell " << cellI
                 << " starting from edge " << startEdgeI
                 << " in " << nIter << " iterations." << nl
@@ -219,7 +219,7 @@ bool Foam::cuttingPlane::walkCell
 
         if (nIter > 1000)
         {
-            WarningIn("Foam::cuttingPlane::walkCell")
+            WarningInFunction
                 << "Did not find closed walk along surface of cell " << cellI
                 << " starting from edge " << startEdgeI
                 << " in " << nIter << " iterations." << nl
@@ -237,7 +237,7 @@ bool Foam::cuttingPlane::walkCell
     }
     else
     {
-        WarningIn("Foam::cuttingPlane::walkCell")
+        WarningInFunction
             << "Did not find closed walk along surface of cell " << cellI
             << " starting from edge " << startEdgeI << nl
             << "Collected cutPoints so far:" << faceVerts
@@ -287,7 +287,7 @@ void Foam::cuttingPlane::walkCellCuts
         // Check for the unexpected ...
         if (startEdgeI == -1)
         {
-            FatalErrorIn("Foam::cuttingPlane::walkCellCuts(..)")
+            FatalErrorInFunction
                 << "Cannot find cut edge for cut cell " << cellI
                 << abort(FatalError);
         }
@@ -413,7 +413,7 @@ void Foam::cuttingPlane::operator=(const cuttingPlane& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn ("Foam::cuttingPlane::operator=(const cuttingPlane&)")
+        FatalErrorInFunction
             << "Attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/src/sampling/meshToMesh/calcMethod/mapNearest/mapNearestMethod.C b/src/sampling/meshToMesh/calcMethod/mapNearest/mapNearestMethod.C
index 27f1610d5c4..70190d3febc 100644
--- a/src/sampling/meshToMesh/calcMethod/mapNearest/mapNearestMethod.C
+++ b/src/sampling/meshToMesh/calcMethod/mapNearest/mapNearestMethod.C
@@ -69,17 +69,7 @@ bool Foam::mapNearestMethod::findInitialSeeds
             }
             else
             {
-                FatalErrorIn
-                (
-                    "bool Foam::mapNearestMethod::findInitialSeeds"
-                    "("
-                        "const labelList&, "
-                        "const boolList&, "
-                        "const label, "
-                        "label&, "
-                        "label&"
-                    ") const"
-                )
+                FatalErrorInFunction
                     << "Unable to find nearest target cell"
                     << " for source cell " << srcI
                     << " with centre " << srcCc
diff --git a/src/sampling/meshToMesh/calcMethod/meshToMeshMethod/meshToMeshMethodNew.C b/src/sampling/meshToMesh/calcMethod/meshToMeshMethod/meshToMeshMethodNew.C
index 6b3abcf2e35..5eaf5e3d3b4 100644
--- a/src/sampling/meshToMesh/calcMethod/meshToMeshMethod/meshToMeshMethodNew.C
+++ b/src/sampling/meshToMesh/calcMethod/meshToMeshMethod/meshToMeshMethodNew.C
@@ -44,15 +44,8 @@ Foam::autoPtr<Foam::meshToMeshMethod> Foam::meshToMeshMethod::New
 
     if (cstrIter == componentsConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "Foam::autoPtr<Foam::meshToMeshMethod> Foam::meshToMeshMethod::New"
-            "("
-                "const word&, "
-                "const polyMesh&, "
-                "const polyMesh&"
-            ")"
-        )   << "Unknown meshToMesh type "
+        FatalErrorInFunction
+            << "Unknown meshToMesh type "
             << methodName << nl << nl
             << "Valid meshToMesh types are:" << nl
             << componentsConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/sampling/meshToMesh/meshToMesh.C b/src/sampling/meshToMesh/meshToMesh.C
index c03c3789d24..faea30db51b 100644
--- a/src/sampling/meshToMesh/meshToMesh.C
+++ b/src/sampling/meshToMesh/meshToMesh.C
@@ -364,14 +364,7 @@ Foam::meshToMesh::interpolationMethodAMI(const interpolationMethod method)
         }
         default:
         {
-            FatalErrorIn
-            (
-                "Foam::AMIPatchToPatchInterpolation::interpolationMethod"
-                "Foam::meshToMesh::interpolationMethodAMI"
-                "("
-                    "const interpolationMethod method"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "Unhandled enumeration " << method
                 << abort(FatalError);
         }
@@ -385,7 +378,7 @@ void Foam::meshToMesh::calculatePatchAMIs(const word& AMIMethodName)
 {
     if (!patchAMIs_.empty())
     {
-        FatalErrorIn("meshToMesh::calculatePatchAMIs()")
+        FatalErrorInFunction
             << "patch AMI already calculated"
             << exit(FatalError);
     }
@@ -456,16 +449,8 @@ void Foam::meshToMesh::constructNoCuttingPatches
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "Foam::meshToMesh::meshToMesh"
-                        "("
-                            "const polyMesh&, "
-                            "const polyMesh&, "
-                            "const interpolationMethod&, "
-                            "bool"
-                        ")"
-                    )   << "Source patch " << pp.name()
+                    FatalErrorInFunction
+                        << "Source patch " << pp.name()
                         << " not found in target mesh. "
                         << "Available target patches are " << tgtBM.names()
                         << exit(FatalError);
diff --git a/src/sampling/meshToMesh/meshToMeshParallelOps.C b/src/sampling/meshToMesh/meshToMeshParallelOps.C
index ce3fcc428c8..ad7d5f38434 100644
--- a/src/sampling/meshToMesh/meshToMeshParallelOps.C
+++ b/src/sampling/meshToMesh/meshToMeshParallelOps.C
@@ -789,21 +789,7 @@ void Foam::meshToMesh::distributeAndMergeCells
 
                 if (tgtFaceI == -1)
                 {
-                    FatalErrorIn
-                    (
-                        "void Foam::meshToMesh::"
-                        "distributeAndMergeCells"
-                        "("
-                            "const mapDistribute&, "
-                            "const polyMesh&, "
-                            "const globalIndex&, "
-                            "pointField&, "
-                            "faceList&, "
-                            "labelList&, "
-                            "labelList&, "
-                            "labelList&"
-                        ") const"
-                    )
+                    FatalErrorInFunction
                         << "Unvisited " << key
                         << abort(FatalError);
                 }
diff --git a/src/sampling/meshToMesh/meshToMeshTemplates.C b/src/sampling/meshToMesh/meshToMeshTemplates.C
index 9ed88a8ae57..fb12d6e8986 100644
--- a/src/sampling/meshToMesh/meshToMeshTemplates.C
+++ b/src/sampling/meshToMesh/meshToMeshTemplates.C
@@ -87,15 +87,8 @@ void Foam::meshToMesh::mapSrcToTgt
 {
     if (result.size() != tgtToSrcCellAddr_.size())
     {
-        FatalErrorIn
-        (
-            "void Foam::meshToMesh::mapSrcToTgt"
-            "("
-                "const UList<Type>&, "
-                "const CombineOp&, "
-                "List<Type>&"
-            ") const"
-        )   << "Supplied field size is not equal to target mesh size" << nl
+        FatalErrorInFunction
+            << "Supplied field size is not equal to target mesh size" << nl
             << "    source mesh    = " << srcToTgtCellAddr_.size() << nl
             << "    target mesh    = " << tgtToSrcCellAddr_.size() << nl
             << "    supplied field = " << result.size()
@@ -215,15 +208,8 @@ void Foam::meshToMesh::mapTgtToSrc
 {
     if (result.size() != srcToTgtCellAddr_.size())
     {
-        FatalErrorIn
-        (
-            "void Foam::meshToMesh::mapTgtToSrc"
-            "("
-                "const UList<Type>&, "
-                "const CombineOp&, "
-                "List<Type>&"
-            ") const"
-        )   << "Supplied field size is not equal to source mesh size" << nl
+        FatalErrorInFunction
+            << "Supplied field size is not equal to source mesh size" << nl
             << "    source mesh    = " << srcToTgtCellAddr_.size() << nl
             << "    target mesh    = " << tgtToSrcCellAddr_.size() << nl
             << "    supplied field = " << result.size()
diff --git a/src/sampling/meshToMesh0/calculateMeshToMesh0Addressing.C b/src/sampling/meshToMesh0/calculateMeshToMesh0Addressing.C
index a24c99de295..a3ca751858a 100644
--- a/src/sampling/meshToMesh0/calculateMeshToMesh0Addressing.C
+++ b/src/sampling/meshToMesh0/calculateMeshToMesh0Addressing.C
@@ -153,7 +153,7 @@ void Foam::meshToMesh0::calcAddressing()
 
             if (fromPatch.empty())
             {
-                WarningIn("meshToMesh0::calcAddressing()")
+                WarningInFunction
                     << "Source patch " << fromPatch.name()
                     << " has no faces. Not performing mapping for it."
                     << endl;
diff --git a/src/sampling/meshToMesh0/calculateMeshToMesh0Weights.C b/src/sampling/meshToMesh0/calculateMeshToMesh0Weights.C
index 30d3c37f892..7cf00f98958 100644
--- a/src/sampling/meshToMesh0/calculateMeshToMesh0Weights.C
+++ b/src/sampling/meshToMesh0/calculateMeshToMesh0Weights.C
@@ -38,7 +38,7 @@ void Foam::meshToMesh0::calculateInverseDistanceWeights() const
 
     if (inverseDistanceWeightsPtr_)
     {
-        FatalErrorIn("meshToMesh0::calculateInverseDistanceWeights()")
+        FatalErrorInFunction
             << "weighting factors already calculated"
             << exit(FatalError);
     }
@@ -140,7 +140,7 @@ void Foam::meshToMesh0::calculateInverseVolumeWeights() const
 
     if (inverseVolumeWeightsPtr_)
     {
-        FatalErrorIn("meshToMesh0::calculateInverseVolumeWeights()")
+        FatalErrorInFunction
             << "weighting factors already calculated"
             << exit(FatalError);
     }
@@ -203,7 +203,7 @@ void Foam::meshToMesh0::calculateCellToCellAddressing() const
 
     if (cellToCellAddressingPtr_)
     {
-        FatalErrorIn("meshToMesh0::calculateCellToCellAddressing()")
+        FatalErrorInFunction
             << "addressing already calculated"
             << exit(FatalError);
     }
diff --git a/src/sampling/meshToMesh0/meshToMesh0.C b/src/sampling/meshToMesh0/meshToMesh0.C
index 164d749cd49..73991b8b72b 100644
--- a/src/sampling/meshToMesh0/meshToMesh0.C
+++ b/src/sampling/meshToMesh0/meshToMesh0.C
@@ -87,13 +87,8 @@ Foam::meshToMesh0::meshToMesh0
         }
         else
         {
-            WarningIn
-            (
-                "meshToMesh0::meshToMesh0"
-                "(const fvMesh& meshFrom, const fvMesh& meshTo,"
-                "const HashTable<word>& patchMap,"
-                "const wordList& cuttingPatchNames)"
-            )   << "Cannot find cutting-patch " << cuttingPatchNames[i]
+            WarningInFunction
+                << "Cannot find cutting-patch " << cuttingPatchNames[i]
                 << " in destination mesh" << endl;
         }
     }
@@ -134,11 +129,8 @@ Foam::meshToMesh0::meshToMesh0
     // of boundary patches
     if (fromMesh_.boundary().size() != toMesh_.boundary().size())
     {
-        FatalErrorIn
-        (
-            "meshToMesh0::meshToMesh0"
-            "(const fvMesh& meshFrom, const fvMesh& meshTo)"
-        )   << "Incompatible meshes: different number of patches, "
+        FatalErrorInFunction
+            << "Incompatible meshes: different number of patches, "
             << "fromMesh = " << fromMesh_.boundary().size()
             << ", toMesh = " << toMesh_.boundary().size()
             << exit(FatalError);
@@ -152,11 +144,8 @@ Foam::meshToMesh0::meshToMesh0
          != toMesh_.boundaryMesh()[patchi].name()
         )
         {
-            FatalErrorIn
-            (
-                "meshToMesh0::meshToMesh0"
-                "(const fvMesh& meshFrom, const fvMesh& meshTo)"
-            )   << "Incompatible meshes: different patch names for patch "
+            FatalErrorInFunction
+                << "Incompatible meshes: different patch names for patch "
                 << patchi
                 << ", fromMesh = " << fromMesh_.boundary()[patchi].name()
                 << ", toMesh = " << toMesh_.boundary()[patchi].name()
@@ -169,11 +158,8 @@ Foam::meshToMesh0::meshToMesh0
          != toMesh_.boundaryMesh()[patchi].type()
         )
         {
-            FatalErrorIn
-            (
-                "meshToMesh0::meshToMesh0"
-                "(const fvMesh& meshFrom, const fvMesh& meshTo)"
-            )   << "Incompatible meshes: different patch types for patch "
+            FatalErrorInFunction
+                << "Incompatible meshes: different patch types for patch "
                 << patchi
                 << ", fromMesh = " << fromMesh_.boundary()[patchi].type()
                 << ", toMesh = " << toMesh_.boundary()[patchi].type()
diff --git a/src/sampling/meshToMesh0/meshToMesh0Templates.C b/src/sampling/meshToMesh0/meshToMesh0Templates.C
index 9d3bff68072..9595399bd20 100644
--- a/src/sampling/meshToMesh0/meshToMesh0Templates.C
+++ b/src/sampling/meshToMesh0/meshToMesh0Templates.C
@@ -158,12 +158,8 @@ void Foam::meshToMesh0::interpolateInternalField
 {
     if (fromVf.mesh() != fromMesh_)
     {
-        FatalErrorIn
-        (
-            "meshToMesh0::interpolateInternalField(Field<Type>&, "
-            "const GeometricField<Type, fvPatchField, volMesh>&, "
-            "meshToMesh0::order, const CombineOp&) const"
-        )   << "the argument field does not correspond to the right mesh. "
+        FatalErrorInFunction
+            << "the argument field does not correspond to the right mesh. "
             << "Field size: " << fromVf.size()
             << " mesh size: " << fromMesh_.nCells()
             << exit(FatalError);
@@ -171,12 +167,8 @@ void Foam::meshToMesh0::interpolateInternalField
 
     if (toF.size() != toMesh_.nCells())
     {
-        FatalErrorIn
-        (
-            "meshToMesh0::interpolateInternalField(Field<Type>&, "
-            "const GeometricField<Type, fvPatchField, volMesh>&, "
-            "meshToMesh0::order, const CombineOp&) const"
-        )   << "the argument field does not correspond to the right mesh. "
+        FatalErrorInFunction
+            << "the argument field does not correspond to the right mesh. "
             << "Field size: " << toF.size()
             << " mesh size: " << toMesh_.nCells()
             << exit(FatalError);
@@ -229,12 +221,8 @@ void Foam::meshToMesh0::interpolateInternalField
             break;
         }
         default:
-            FatalErrorIn
-            (
-                "meshToMesh0::interpolateInternalField(Field<Type>&, "
-                "const GeometricField<Type, fvPatchField, volMesh>&, "
-                "meshToMesh0::order, const CombineOp&) const"
-            )   << "unknown interpolation scheme " << ord
+            FatalErrorInFunction
+                << "unknown interpolation scheme " << ord
                 << exit(FatalError);
     }
 }
@@ -317,13 +305,8 @@ void Foam::meshToMesh0::interpolate
                 }
 
                 default:
-                    FatalErrorIn
-                    (
-                        "meshToMesh0::interpolate("
-                        "GeometricField<Type, fvPatchField, volMesh>&, "
-                        "const GeometricField<Type, fvPatchField, volMesh>&, "
-                        "meshToMesh0::order, const CombineOp&) const"
-                    )   << "unknown interpolation scheme " << ord
+                    FatalErrorInFunction
+                        << "unknown interpolation scheme " << ord
                         << exit(FatalError);
             }
 
@@ -398,12 +381,8 @@ Foam::meshToMesh0::interpolate
     // of boundary patches
     if (fromMesh_.boundary().size() != toMesh_.boundary().size())
     {
-        FatalErrorIn
-        (
-            "meshToMesh0::interpolate"
-            "(const GeometricField<Type, fvPatchField, volMesh>&,"
-            "meshToMesh0::order, const CombineOp&) const"
-        )   << "Incompatible meshes: different number of boundaries, "
+        FatalErrorInFunction
+            << "Incompatible meshes: different number of boundaries, "
                "only internal field may be interpolated"
             << exit(FatalError);
     }
diff --git a/src/sampling/probes/patchProbes.C b/src/sampling/probes/patchProbes.C
index b6792ea08cd..a622d2ecd9a 100644
--- a/src/sampling/probes/patchProbes.C
+++ b/src/sampling/probes/patchProbes.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,10 +50,8 @@ void Foam::patchProbes::findElements(const fvMesh& mesh)
 
     if (patchI == -1)
     {
-        FatalErrorIn
-        (
-            " Foam::patchProbes::findElements(const fvMesh&)"
-        )   << " Unknown patch name "
+        FatalErrorInFunction
+            << " Unknown patch name "
             << patchName_ << endl
             << exit(FatalError);
     }
@@ -119,10 +117,7 @@ void Foam::patchProbes::findElements(const fvMesh& mesh)
 
             if (isA<emptyPolyPatch>(bm[patchi]))
             {
-                WarningIn
-                (
-                    " Foam::patchProbes::findElements(const fvMesh&)"
-                )
+                WarningInFunction
                 << " The sample point: " << sample
                 << " belongs to " << patchi
                 << " which is an empty patch. This is not permitted. "
diff --git a/src/sampling/probes/probes.C b/src/sampling/probes/probes.C
index 38ef3a63b47..2ea3a4f4300 100644
--- a/src/sampling/probes/probes.C
+++ b/src/sampling/probes/probes.C
@@ -108,7 +108,7 @@ void Foam::probes::findElements(const fvMesh& mesh)
         {
             if (Pstream::master())
             {
-                WarningIn("findElements::findElements(const fvMesh&)")
+                WarningInFunction
                     << "Did not find location " << location
                     << " in any cell. Skipping location." << endl;
             }
@@ -117,7 +117,7 @@ void Foam::probes::findElements(const fvMesh& mesh)
         {
             if (Pstream::master())
             {
-                WarningIn("probes::findElements(const fvMesh&)")
+                WarningInFunction
                     << "Did not find location " << location
                     << " in any face. Skipping location." << endl;
             }
@@ -127,7 +127,7 @@ void Foam::probes::findElements(const fvMesh& mesh)
             // Make sure location not on two domains.
             if (elementList_[probeI] != -1 && elementList_[probeI] != cellI)
             {
-                WarningIn("probes::findElements(const fvMesh&)")
+                WarningInFunction
                     << "Location " << location
                     << " seems to be on multiple domains:"
                     << " cell " << elementList_[probeI]
@@ -141,7 +141,7 @@ void Foam::probes::findElements(const fvMesh& mesh)
 
             if (faceList_[probeI] != -1 && faceList_[probeI] != faceI)
             {
-                WarningIn("probes::findElements(const fvMesh&)")
+                WarningInFunction
                     << "Location " << location
                     << " seems to be on multiple domains:"
                     << " cell " << faceList_[probeI]
@@ -342,7 +342,7 @@ void Foam::probes::read(const dictionary& dict)
     {
         if (!fixedLocations_ && interpolationScheme_ != "cell")
         {
-            WarningIn("void Foam::probes::read(const dictionary&)")
+            WarningInFunction
                 << "Only cell interpolation can be applied when "
                 << "not using fixedLocations.  InterpolationScheme "
                 << "entry will be ignored";
diff --git a/src/sampling/sampledSet/circle/circleSet.C b/src/sampling/sampledSet/circle/circleSet.C
index b94e4962f25..6ef83dbed0b 100644
--- a/src/sampling/sampledSet/circle/circleSet.C
+++ b/src/sampling/sampledSet/circle/circleSet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -76,7 +76,7 @@ void Foam::circleSet::calcSamples
     }
     else
     {
-        WarningIn(funcName)
+        WarningInFunction
             << "Unable to find cell at point id " << 0
             << " at location " << startPoint_ << endl;
     }
@@ -92,7 +92,7 @@ void Foam::circleSet::calcSamples
 
     if (mag(axis1 & circleAxis_) > SMALL)
     {
-        WarningIn(funcName)
+        WarningInFunction
             << "Vector defined by (startPoint - origin) not orthogonal to "
             << "circleAxis:" << nl
             << "    startPoint - origin = " << axis1 << nl
@@ -124,7 +124,7 @@ void Foam::circleSet::calcSamples
         }
         else
         {
-            WarningIn(funcName)
+            WarningInFunction
                 << "Unable to find cell at point id " << nPoint
                 << " at location " << pt << endl;
         }
diff --git a/src/sampling/sampledSet/face/faceOnlySet.C b/src/sampling/sampledSet/face/faceOnlySet.C
index 85fb7bc74b5..d8aedfee9aa 100644
--- a/src/sampling/sampledSet/face/faceOnlySet.C
+++ b/src/sampling/sampledSet/face/faceOnlySet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -102,7 +102,7 @@ void Foam::faceOnlySet::calcSamples
     // distance vector between sampling points
     if (mag(end_ - start_) < SMALL)
     {
-        FatalErrorIn("faceOnlySet::calcSamples()")
+        FatalErrorInFunction
             << "Incorrect sample specification :"
             << " start equals end point." << endl
             << "  start:" << start_
diff --git a/src/sampling/sampledSet/midPoint/midPointSet.C b/src/sampling/sampledSet/midPoint/midPointSet.C
index 168d0bbc986..d0ea99108c8 100644
--- a/src/sampling/sampledSet/midPoint/midPointSet.C
+++ b/src/sampling/sampledSet/midPoint/midPointSet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -68,8 +68,7 @@ void Foam::midPointSet::genSamples()
 
             if (cell1 != cell2)
             {
-                FatalErrorIn("midPointSet::genSamples()")
-                    << "  sampleI:" << sampleI
+                FatalErrorInFunction
                     << "  midI:" << midI
                     << "  sampleI:" << sampleI
                     << "  pts[sampleI]:" << operator[](sampleI)
diff --git a/src/sampling/sampledSet/midPointAndFace/midPointAndFaceSet.C b/src/sampling/sampledSet/midPointAndFace/midPointAndFaceSet.C
index 601171f9502..7a575498559 100644
--- a/src/sampling/sampledSet/midPointAndFace/midPointAndFaceSet.C
+++ b/src/sampling/sampledSet/midPointAndFace/midPointAndFaceSet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -81,8 +81,7 @@ void Foam::midPointAndFaceSet::genSamples()
 
             if (cell1 != cell2)
             {
-                FatalErrorIn("midPointAndFaceSet::genSamples()")
-                    << "  sampleI:" << sampleI
+                FatalErrorInFunction
                     << "  newSampleI:" << newSampleI
                     << "  pts[sampleI]:" << operator[](sampleI)
                     << "  face[sampleI]:" << faces_[sampleI]
diff --git a/src/sampling/sampledSet/polyLine/polyLineSet.C b/src/sampling/sampledSet/polyLine/polyLineSet.C
index 023acc1dce9..7ce2e3fdc23 100644
--- a/src/sampling/sampledSet/polyLine/polyLineSet.C
+++ b/src/sampling/sampledSet/polyLine/polyLineSet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -137,7 +137,7 @@ void Foam::polyLineSet::calcSamples
     // Check sampling points
     if (sampleCoords_.size() < 2)
     {
-        FatalErrorIn("polyLineSet::calcSamples()")
+        FatalErrorInFunction
             << "Incorrect sample specification. Too few points:"
             << sampleCoords_ << exit(FatalError);
     }
@@ -146,7 +146,7 @@ void Foam::polyLineSet::calcSamples
     {
         if (mag(sampleCoords_[sampleI] - oldPoint) < SMALL)
         {
-            FatalErrorIn("polyLineSet::calcSamples()")
+            FatalErrorInFunction
                 << "Incorrect sample specification."
                 << " Point " << sampleCoords_[sampleI-1]
                 << " at position " << sampleI-1
diff --git a/src/sampling/sampledSet/sampledSet/sampledSet.C b/src/sampling/sampledSet/sampledSet/sampledSet.C
index 1442ca31f91..4be25ac3e1e 100644
--- a/src/sampling/sampledSet/sampledSet/sampledSet.C
+++ b/src/sampling/sampledSet/sampledSet/sampledSet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,10 +57,8 @@ Foam::label Foam::sampledSet::getCell
 {
     if (faceI == -1)
     {
-        FatalErrorIn
-        (
-            "sampledSet::getCell(const label, const point&)"
-        )   << "Illegal face label " << faceI
+        FatalErrorInFunction
+            << "Illegal face label " << faceI
             << abort(FatalError);
     }
 
@@ -70,10 +68,8 @@ Foam::label Foam::sampledSet::getCell
 
         if (!mesh().pointInCell(sample, cellI, searchEngine_.decompMode()))
         {
-            FatalErrorIn
-            (
-                "sampledSet::getCell(const label, const point&)"
-            )   << "Found cell " << cellI << " using face " << faceI
+            FatalErrorInFunction
+                << "Found cell " << cellI << " using face " << faceI
                 << ". But cell does not contain point " << sample
                 << abort(FatalError);
         }
@@ -99,10 +95,8 @@ Foam::label Foam::sampledSet::getCell
             }
             else
             {
-                FatalErrorIn
-                (
-                    "sampledSet::getCell(const label, const point&)"
-                )   << "None of the neighbours of face "
+                FatalErrorInFunction
+                    << "None of the neighbours of face "
                     << faceI << " contains point " << sample
                     << abort(FatalError);
 
@@ -220,10 +214,8 @@ Foam::point Foam::sampledSet::pushIn
 
     if (tetFaceI == -1)
     {
-        FatalErrorIn
-        (
-            "sampledSet::pushIn(const point&, const label)"
-        )   << "After pushing " << facePt << " to " << newPosition
+        FatalErrorInFunction
+            << "After pushing " << facePt << " to " << newPosition
             << " it is still outside face " << faceI
             << " at " << mesh().faceCentres()[faceI]
             << " of cell " << cellI
@@ -378,7 +370,7 @@ void Foam::sampledSet::setSamples
      || (curveDist_.size() != size())
     )
     {
-        FatalErrorIn("sampledSet::setSamples()")
+        FatalErrorInFunction
             << "sizes not equal : "
             << "  points:" << size()
             << "  cells:" << cells_.size()
@@ -459,12 +451,8 @@ Foam::autoPtr<Foam::sampledSet> Foam::sampledSet::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "sampledSet::New"
-            "(const word&, const polyMesh&, const meshSearch&"
-            ", const dictionary&)"
-        )   << "Unknown sample type "
+        FatalErrorInFunction
+            << "Unknown sample type "
             << sampleType << nl << nl
             << "Valid sample types : " << endl
             << wordConstructorTablePtr_->sortedToc()
diff --git a/src/sampling/sampledSet/sampledSets/sampledSets.C b/src/sampling/sampledSet/sampledSets/sampledSets.C
index 0286e548773..89d6f2561f3 100644
--- a/src/sampling/sampledSet/sampledSets/sampledSets.C
+++ b/src/sampling/sampledSet/sampledSets/sampledSets.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -102,7 +102,7 @@ void Foam::sampledSets::combineSampledSets
 
         if (Pstream::master() && allCurveDist.size() == 0)
         {
-            WarningIn("sampledSets::combineSampledSets(..)")
+            WarningInFunction
                 << "Sample set " << samplePts.name()
                 << " has zero points." << endl;
         }
diff --git a/src/sampling/sampledSet/sampledSets/sampledSetsGrouping.C b/src/sampling/sampledSet/sampledSets/sampledSetsGrouping.C
index c57a604e409..b2092a59157 100644
--- a/src/sampling/sampledSet/sampledSets/sampledSetsGrouping.C
+++ b/src/sampling/sampledSet/sampledSets/sampledSetsGrouping.C
@@ -106,7 +106,7 @@ Foam::label Foam::sampledSets::classifyFields()
             }
             else
             {
-                WarningIn("sampledSets::classifyFields()")
+                WarningInFunction
                     << "Cannot find field file matching "
                     << fieldSelection_[i] << endl;
             }
@@ -137,7 +137,7 @@ Foam::label Foam::sampledSets::classifyFields()
             }
             else
             {
-                WarningIn("sampledSets::classifyFields()")
+                WarningInFunction
                     << "Cannot find registered field matching "
                     << fieldSelection_[i] << endl;
             }
diff --git a/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C b/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C
index a646a8c7c30..ae899307c1d 100644
--- a/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C
+++ b/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -158,17 +158,8 @@ void Foam::sampledSets::writeSampleFile
     }
     else
     {
-        WarningIn
-        (
-            "void Foam::sampledSets::writeSampleFile"
-            "("
-                "const coordSet&, "
-                "const PtrList<volFieldSampler<Type> >&, "
-                "const label, "
-                "const fileName&, "
-                "const writer<Type>&"
-            ")"
-        )   << "File " << ofs.name() << " could not be opened. "
+        WarningInFunction
+            << "File " << ofs.name() << " could not be opened. "
             << "No data will be written" << endl;
     }
 }
diff --git a/src/sampling/sampledSet/uniform/uniformSet.C b/src/sampling/sampledSet/uniform/uniformSet.C
index 9689218ae58..295a3e79e36 100644
--- a/src/sampling/sampledSet/uniform/uniformSet.C
+++ b/src/sampling/sampledSet/uniform/uniformSet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -217,7 +217,7 @@ void Foam::uniformSet::calcSamples
     // distance vector between sampling points
     if ((nPoints_ < 2) || (mag(end_ - start_) < SMALL))
     {
-        FatalErrorIn("uniformSet::calcSamples()")
+        FatalErrorInFunction
             << "Incorrect sample specification. Either too few points or"
             << " start equals end point." << endl
             << "nPoints:" << nPoints_
diff --git a/src/sampling/sampledSurface/distanceSurface/distanceSurface.C b/src/sampling/sampledSurface/distanceSurface/distanceSurface.C
index 2dafe3e98ad..61895668a82 100644
--- a/src/sampling/sampledSurface/distanceSurface/distanceSurface.C
+++ b/src/sampling/sampledSurface/distanceSurface/distanceSurface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -113,10 +113,8 @@ void Foam::distanceSurface::createGeometry()
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "void Foam::distanceSurface::createGeometry()"
-                    )   << "getVolumeType failure, neither INSIDE or OUTSIDE"
+                    FatalErrorInFunction
+                        << "getVolumeType failure, neither INSIDE or OUTSIDE"
                         << exit(FatalError);
                 }
             }
@@ -165,10 +163,8 @@ void Foam::distanceSurface::createGeometry()
                     }
                     else
                     {
-                        FatalErrorIn
-                        (
-                            "void Foam::distanceSurface::createGeometry()"
-                        )   << "getVolumeType failure, "
+                        FatalErrorInFunction
+                            << "getVolumeType failure, "
                             << "neither INSIDE or OUTSIDE"
                             << exit(FatalError);
                     }
@@ -224,10 +220,8 @@ void Foam::distanceSurface::createGeometry()
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "void Foam::distanceSurface::createGeometry()"
-                    )   << "getVolumeType failure, neither INSIDE or OUTSIDE"
+                    FatalErrorInFunction
+                        << "getVolumeType failure, neither INSIDE or OUTSIDE"
                         << exit(FatalError);
                 }
             }
diff --git a/src/sampling/sampledSurface/isoSurface/isoSurface.C b/src/sampling/sampledSurface/isoSurface/isoSurface.C
index e3105b35a56..81307ac6141 100644
--- a/src/sampling/sampledSurface/isoSurface/isoSurface.C
+++ b/src/sampling/sampledSurface/isoSurface/isoSurface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -97,10 +97,8 @@ Foam::PackedBoolList Foam::isoSurface::collocatedFaces
     }
     else
     {
-        FatalErrorIn
-        (
-            "isoSurface::collocatedFaces(const coupledPolyPatch&) const"
-        )   << "Unhandled coupledPolyPatch type " << pp.type()
+        FatalErrorInFunction
+            << "Unhandled coupledPolyPatch type " << pp.type()
             << abort(FatalError);
     }
     return collocated;
@@ -967,7 +965,7 @@ Foam::triSurface Foam::isoSurface::stitchTriPoints
 
     if ((triPoints.size() % 3) != 0)
     {
-        FatalErrorIn("isoSurface::stitchTriPoints(..)")
+        FatalErrorInFunction
             << "Problem: number of points " << triPoints.size()
             << " not a multiple of 3." << abort(FatalError);
     }
@@ -998,7 +996,7 @@ Foam::triSurface Foam::isoSurface::stitchTriPoints
 
         if (hasMerged)
         {
-            FatalErrorIn("isoSurface::stitchTriPoints(..)")
+            FatalErrorInFunction
                 << "Merged points contain duplicates"
                 << " when merging with distance " << mergeDistance_ << endl
                 << "merged:" << newPoints.size() << " re-merged:"
@@ -1115,7 +1113,7 @@ Foam::triSurface Foam::isoSurface::stitchTriPoints
 
                     if (f == nbrF)
                     {
-                        FatalErrorIn("validTri(const triSurface&, const label)")
+                        FatalErrorInFunction
                             << "Check : "
                             << " triangle " << faceI << " vertices " << f
                             << " fc:" << f.centre(surf.points())
@@ -1147,7 +1145,7 @@ bool Foam::isoSurface::validTri(const triSurface& surf, const label faceI)
      || (f[2] < 0) || (f[2] >= surf.points().size())
     )
     {
-        WarningIn("validTri(const triSurface&, const label)")
+        WarningInFunction
             << "triangle " << faceI << " vertices " << f
             << " uses point indices outside point range 0.."
             << surf.points().size()-1 << endl;
@@ -1157,7 +1155,7 @@ bool Foam::isoSurface::validTri(const triSurface& surf, const label faceI)
 
     if ((f[0] == f[1]) || (f[0] == f[2]) || (f[1] == f[2]))
     {
-        WarningIn("validTri(const triSurface&, const label)")
+        WarningInFunction
             << "triangle " << faceI
             << " uses non-unique vertices " << f
             << endl;
@@ -1189,7 +1187,7 @@ bool Foam::isoSurface::validTri(const triSurface& surf, const label faceI)
          && ((f[2] == nbrF[0]) || (f[2] == nbrF[1]) || (f[2] == nbrF[2]))
         )
         {
-            WarningIn("validTri(const triSurface&, const label)")
+            WarningInFunction
                 << "triangle " << faceI << " vertices " << f
                 << " fc:" << f.centre(surf.points())
                 << " has the same vertices as triangle " << nbrFaceI
@@ -1326,7 +1324,7 @@ void Foam::isoSurface::calcAddressing
             }
             else
             {
-                //WarningIn("orientSurface(triSurface&)")
+                //WarningInFunction
                 //    << "Edge " << edgeI << " with centre "
                 //    << mergedCentres[edgeI]
                 //    << " used by more than two triangles: "
@@ -1452,7 +1450,7 @@ void Foam::isoSurface::walkOrientation
 
                     if (nbrFp == -1)
                     {
-                        FatalErrorIn("isoSurface::walkOrientation(..)")
+                        FatalErrorInFunction
                             << "triI:" << triI
                             << " tri:" << tri
                             << " p0:" << p0
@@ -1550,10 +1548,8 @@ void Foam::isoSurface::orientSurface
         }
         else if (flipState[triI] == -1)
         {
-            FatalErrorIn
-            (
-                "isoSurface::orientSurface(triSurface&, const label)"
-            )   << "problem" << abort(FatalError);
+            FatalErrorInFunction
+                << "problem" << abort(FatalError);
         }
     }
 }
diff --git a/src/sampling/sampledSurface/isoSurface/isoSurfaceCell.C b/src/sampling/sampledSurface/isoSurface/isoSurfaceCell.C
index 8123541ebee..d82f072a136 100644
--- a/src/sampling/sampledSurface/isoSurface/isoSurfaceCell.C
+++ b/src/sampling/sampledSurface/isoSurface/isoSurfaceCell.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -917,7 +917,7 @@ Foam::triSurface Foam::isoSurfaceCell::stitchTriPoints
 
     if ((triPoints.size() % 3) != 0)
     {
-        FatalErrorIn("isoSurfaceCell::stitchTriPoints(..)")
+        FatalErrorInFunction
             << "Problem: number of points " << triPoints.size()
             << " not a multiple of 3." << abort(FatalError);
     }
@@ -951,7 +951,7 @@ Foam::triSurface Foam::isoSurfaceCell::stitchTriPoints
 
         if (hasMerged)
         {
-            FatalErrorIn("isoSurfaceCell::stitchTriPoints(..)")
+            FatalErrorInFunction
                 << "Merged points contain duplicates"
                 << " when merging with distance " << mergeDistance_ << endl
                 << "merged:" << newPoints.size() << " re-merged:"
@@ -1064,7 +1064,7 @@ bool Foam::isoSurfaceCell::validTri(const triSurface& surf, const label faceI)
     {
         if (f[fp] < 0 || f[fp] >= surf.points().size())
         {
-            WarningIn("validTri(const triSurface&, const label)")
+            WarningInFunction
                 << "triangle " << faceI << " vertices " << f
                 << " uses point indices outside point range 0.."
                 << surf.points().size()-1 << endl;
@@ -1075,7 +1075,7 @@ bool Foam::isoSurfaceCell::validTri(const triSurface& surf, const label faceI)
 
     if ((f[0] == f[1]) || (f[0] == f[2]) || (f[1] == f[2]))
     {
-        WarningIn("validTri(const triSurface&, const label)")
+        WarningInFunction
             << "triangle " << faceI
             << " uses non-unique vertices " << f
             << endl;
@@ -1107,7 +1107,7 @@ bool Foam::isoSurfaceCell::validTri(const triSurface& surf, const label faceI)
          && ((f[2] == nbrF[0]) || (f[2] == nbrF[1]) || (f[2] == nbrF[2]))
         )
         {
-            WarningIn("validTri(const triSurface&, const label)")
+            WarningInFunction
                 << "triangle " << faceI << " vertices " << f
                 << " coords:" << f.points(surf.points())
                 << " has the same vertices as triangle " << nbrFaceI
@@ -1199,7 +1199,7 @@ void Foam::isoSurfaceCell::calcAddressing
         }
         else
         {
-            //WarningIn("orientSurface(triSurface&)")
+            //WarningInFunction
             //    << "Edge " << edgeI << " with centre " << mergedCentres[edgeI]
             //    << " used by more than two triangles: " << edgeFace0[edgeI]
             //    << ", "
@@ -1351,10 +1351,8 @@ void Foam::isoSurfaceCell::calcAddressing
 //        }
 //        else if (flipState[triI] == -1)
 //        {
-//            FatalErrorIn
-//            (
-//                "isoSurfaceCell::orientSurface(triSurface&, const label)"
-//            )   << "problem" << abort(FatalError);
+//            FatalErrorInFunction
+//                << "problem" << abort(FatalError);
 //        }
 //    }
 //}
diff --git a/src/sampling/sampledSurface/isoSurface/isoSurfaceCellTemplates.C b/src/sampling/sampledSurface/isoSurface/isoSurfaceCellTemplates.C
index c78aafeee50..6d54e471bb1 100644
--- a/src/sampling/sampledSurface/isoSurface/isoSurfaceCellTemplates.C
+++ b/src/sampling/sampledSurface/isoSurface/isoSurfaceCellTemplates.C
@@ -495,7 +495,7 @@ void Foam::isoSurfaceCell::generateTriPoints
 
     if (countNotFoundTets > 0)
     {
-        WarningIn("Foam::isoSurfaceCell::generateTriPoints")
+        WarningInFunction
             << "Could not find " << countNotFoundTets
             << " tet base points, which may lead to inverted triangles."
             << endl;
diff --git a/src/sampling/sampledSurface/isoSurface/isoSurfaceTemplates.C b/src/sampling/sampledSurface/isoSurface/isoSurfaceTemplates.C
index 6f64c9fe541..75a79c9f2b2 100644
--- a/src/sampling/sampledSurface/isoSurface/isoSurfaceTemplates.C
+++ b/src/sampling/sampledSurface/isoSurface/isoSurfaceTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -492,7 +492,7 @@ void Foam::isoSurface::generateTriPoints
      || (snappedPoint.size() != mesh_.nPoints())
     )
     {
-        FatalErrorIn("isoSurface::generateTriPoints(..)")
+        FatalErrorInFunction
             << "Incorrect size." << endl
             << "mesh: nCells:" << mesh_.nCells()
             << " points:" << mesh_.nPoints() << endl
@@ -759,7 +759,7 @@ Foam::isoSurface::interpolate
         {
             if (nValues[i] == 0)
             {
-                FatalErrorIn("isoSurface::interpolate(..)")
+                FatalErrorInFunction
                     << "point:" << i << " nValues:" << nValues[i]
                     << abort(FatalError);
             }
diff --git a/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C b/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C
index bb171c2c0e9..4802ccbaf34 100644
--- a/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C
+++ b/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C
@@ -110,7 +110,7 @@ void Foam::sampledIsoSurface::getIsoFields() const
             }
             else
             {
-                FatalErrorIn("sampledIsoSurface::getIsoFields()")
+                FatalErrorInFunction
                 << "Cannot find isosurface field " << isoField_
                 << " in database or directory " << vfHeader.path()
                 << exit(FatalError);
@@ -427,10 +427,8 @@ Foam::sampledIsoSurface::sampledIsoSurface
 {
     if (!sampledSurface::interpolate())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "sampledIsoSurface::sampledIsoSurface"
-            "(const word&, const polyMesh&, const dictionary&)",
             dict
         )   << "Non-interpolated iso surface not supported since triangles"
             << " span across cells." << exit(FatalIOError);
@@ -442,10 +440,8 @@ Foam::sampledIsoSurface::sampledIsoSurface
 
         if (mesh.boundaryMesh().findPatchID(exposedPatchName_) == -1)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "sampledIsoSurface::sampledIsoSurface"
-                "(const word&, const polyMesh&, const dictionary&)",
                 dict
             )   << "Cannot find patch " << exposedPatchName_
                 << " in which to put exposed faces." << endl
diff --git a/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C b/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C
index 7da10d7a57d..b2eee16e05d 100644
--- a/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C
+++ b/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -279,11 +279,8 @@ Foam::sampledCuttingPlane::sampledCuttingPlane
 
         if (mesh.boundaryMesh().findPatchID(exposedPatchName_) == -1)
         {
-            FatalErrorIn
-            (
-                "sampledCuttingPlane::sampledCuttingPlane"
-                "(const word&, const polyMesh&, const dictionary&)"
-            )   << "Cannot find patch " << exposedPatchName_
+            FatalErrorInFunction
+                << "Cannot find patch " << exposedPatchName_
                 << " in which to put exposed faces." << endl
                 << "Valid patches are " << mesh.boundaryMesh().names()
                 << exit(FatalError);
diff --git a/src/sampling/sampledSurface/sampledPatch/sampledPatch.C b/src/sampling/sampledSurface/sampledPatch/sampledPatch.C
index d07a6391f12..22a3e0490b7 100644
--- a/src/sampling/sampledSurface/sampledPatch/sampledPatch.C
+++ b/src/sampling/sampledSurface/sampledPatch/sampledPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -135,7 +135,7 @@ bool Foam::sampledPatch::update()
 
         if (isA<emptyPolyPatch>(pp))
         {
-            FatalErrorIn("sampledPatch::update()")
+            FatalErrorInFunction
                 << "Cannot sample an empty patch. Patch " << pp.name()
                 << exit(FatalError);
         }
diff --git a/src/sampling/sampledSurface/sampledSurface/sampledSurface.C b/src/sampling/sampledSurface/sampledSurface/sampledSurface.C
index 824894b2ea7..acf3558bba8 100644
--- a/src/sampling/sampledSurface/sampledSurface/sampledSurface.C
+++ b/src/sampling/sampledSurface/sampledSurface/sampledSurface.C
@@ -53,7 +53,7 @@ void Foam::sampledSurface::makeSf() const
     // It is an error to recalculate if the pointer is already set
     if (SfPtr_)
     {
-        FatalErrorIn("Foam::sampledSurface::makeSf()")
+        FatalErrorInFunction
             << "face area vectors already exist"
             << abort(FatalError);
     }
@@ -74,7 +74,7 @@ void Foam::sampledSurface::makeMagSf() const
     // It is an error to recalculate if the pointer is already set
     if (magSfPtr_)
     {
-        FatalErrorIn("Foam::sampledSurface::makeMagSf()")
+        FatalErrorInFunction
             << "mag face areas already exist"
             << abort(FatalError);
     }
@@ -95,7 +95,7 @@ void Foam::sampledSurface::makeCf() const
     // It is an error to recalculate if the pointer is already set
     if (CfPtr_)
     {
-        FatalErrorIn("Foam::sampledSurface::makeCf()")
+        FatalErrorInFunction
             << "face centres already exist"
             << abort(FatalError);
     }
@@ -132,11 +132,8 @@ Foam::autoPtr<Foam::sampledSurface> Foam::sampledSurface::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "sampledSurface::New"
-            "(const word&, const polyMesh&, const dictionary&)"
-        )   << "Unknown sample type "
+        FatalErrorInFunction
+            << "Unknown sample type "
             << sampleType << nl << nl
             << "Valid sample types : " << endl
             << wordConstructorTablePtr_->sortedToc()
diff --git a/src/sampling/sampledSurface/sampledSurface/sampledSurfaceTemplates.C b/src/sampling/sampledSurface/sampledSurface/sampledSurfaceTemplates.C
index 09fe8b7567c..2ad3b90e796 100644
--- a/src/sampling/sampledSurface/sampledSurface/sampledSurfaceTemplates.C
+++ b/src/sampling/sampledSurface/sampledSurface/sampledSurfaceTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,10 +35,7 @@ bool Foam::sampledSurface::checkFieldSize(const Field<Type>& field) const
 
     if (field.size() != faces().size())
     {
-        FatalErrorIn
-        (
-            "sampledSurface::checkFieldSize(const Field<Type>&) const"
-        )
+        FatalErrorInFunction
             << "size mismatch: "
             << "field (" << field.size()
             << ") != surface (" << faces().size() << ")"
diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesGrouping.C b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesGrouping.C
index 27b4d63d603..efd1ee4bb0a 100644
--- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesGrouping.C
+++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesGrouping.C
@@ -50,7 +50,7 @@ Foam::label Foam::sampledSurfaces::classifyFields()
             }
             else
             {
-                WarningIn("sampledSurfaces::classifyFields()")
+                WarningInFunction
                     << "Cannot find field file matching "
                     << fieldSelection_[i] << endl;
             }
@@ -72,7 +72,7 @@ Foam::label Foam::sampledSurfaces::classifyFields()
             }
             else
             {
-                WarningIn("sampledSurfaces::classifyFields()")
+                WarningInFunction
                     << "Cannot find registered field matching "
                     << fieldSelection_[i] << endl;
             }
diff --git a/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C b/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C
index 89e99055b8a..c71c6eba0d3 100644
--- a/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C
+++ b/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -163,10 +163,7 @@ Foam::sampledThresholdCellFaces::sampledThresholdCellFaces
 {
     if (!dict.found("lowerLimit") && !dict.found("upperLimit"))
     {
-        FatalErrorIn
-            (
-                "sampledThresholdCellFaces::sampledThresholdCellFaces(..)"
-            )
+        FatalErrorInFunction
             << "require at least one of 'lowerLimit' or 'upperLimit'" << endl
             << abort(FatalError);
     }
diff --git a/src/sampling/sampledSurface/thresholdCellFaces/thresholdCellFaces.C b/src/sampling/sampledSurface/thresholdCellFaces/thresholdCellFaces.C
index 81f46165c24..26b73b3c606 100644
--- a/src/sampling/sampledSurface/thresholdCellFaces/thresholdCellFaces.C
+++ b/src/sampling/sampledSurface/thresholdCellFaces/thresholdCellFaces.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -279,8 +279,7 @@ Foam::thresholdCellFaces::thresholdCellFaces
 
     if (lowerThreshold > upperThreshold)
     {
-        WarningIn("thresholdCellFaces::thresholdCellFaces(...)")
-            << "lower > upper limit!  "
+        WarningInFunction
             << lowerThreshold << " > " << upperThreshold << endl;
     }
 
diff --git a/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.C b/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.C
index c95a7aed65c..2c68fde5cae 100644
--- a/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.C
+++ b/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -73,10 +73,8 @@ void Foam::dxSurfaceWriter::writeGeometry
 
         if (f.size() != 3)
         {
-            FatalErrorIn
-            (
-                "writeGeometry(Ostream&, const pointField&, const faceList&)"
-            )   << "Face " << faceI << " vertices " << f
+            FatalErrorInFunction
+                << "Face " << faceI << " vertices " << f
                 << " is not a triangle."
                 << exit(FatalError);
         }
diff --git a/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.C b/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.C
index eaa16feb6b6..b0fa51ca709 100644
--- a/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.C
+++ b/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -156,14 +156,8 @@ void Foam::nastranSurfaceWriter::writeCoord
         }
         default:
         {
-            FatalErrorIn
-            (
-                "void Foam::nastranSurfaceWriter::writeCoord"
-                "("
-                    "Ostream&, "
-                    "const point&"
-                ") const"
-            )   << "Unknown writeFormat enumeration" << abort(FatalError);
+            FatalErrorInFunction
+                << "Unknown writeFormat enumeration" << abort(FatalError);
         }
     }
 }
@@ -255,16 +249,8 @@ void Foam::nastranSurfaceWriter::writeFace
         }
         default:
         {
-            FatalErrorIn
-            (
-                "void Foam::nastranSurfaceWriter::writeFace"
-                "("
-                    "const word&"
-                    "const labelList&"
-                    "label&"
-                    "Ostream&, "
-                ") const"
-            )   << "Unknown writeFormat enumeration" << abort(FatalError);
+            FatalErrorInFunction
+                << "Unknown writeFormat enumeration" << abort(FatalError);
         }
     }
 
diff --git a/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriterTemplates.C b/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriterTemplates.C
index fe1e6a998ae..d8ea7cc516d 100644
--- a/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriterTemplates.C
+++ b/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriterTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -129,20 +129,7 @@ void Foam::nastranSurfaceWriter::writeTemplate
 {
     if (!fieldMap_.found(fieldName))
     {
-        WarningIn
-        (
-            "void Foam::nastranSurfaceWriter::writeTemplate"
-            "("
-                "const fileName&, "
-                "const fileName&, "
-                "const pointField&, "
-                "const faceList&, "
-                "const word&, "
-                "const Field<Type>&, "
-                "const bool, "
-                "const bool"
-            ") const"
-        )
+        WarningInFunction
             << "No mapping found between field " << fieldName
             << " and corresponding Nastran field.  Available types are:"
             << fieldMap_
diff --git a/src/sampling/sampledSurface/writers/surfaceWriter.C b/src/sampling/sampledSurface/writers/surfaceWriter.C
index 86beeabe199..bba94f1e571 100644
--- a/src/sampling/sampledSurface/writers/surfaceWriter.C
+++ b/src/sampling/sampledSurface/writers/surfaceWriter.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -68,10 +68,8 @@ Foam::surfaceWriter::New(const word& writeType)
 
         if (cstrIter == wordConstructorTablePtr_->end())
         {
-            FatalErrorIn
-            (
-                "surfaceWriter::New(const word&)"
-            )   << "Unknown write type \"" << writeType << "\"\n\n"
+            FatalErrorInFunction
+                << "Unknown write type \"" << writeType << "\"\n\n"
                 << "Valid write types : "
                 << wordConstructorTablePtr_->sortedToc() << nl
                 << "Valid proxy types : "
diff --git a/src/sixDoFRigidBodyMotion/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.C b/src/sixDoFRigidBodyMotion/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.C
index 7f51b9551d4..b69b8065be3 100644
--- a/src/sixDoFRigidBodyMotion/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.C
+++ b/src/sixDoFRigidBodyMotion/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.C
@@ -178,11 +178,7 @@ void sixDoFRigidBodyDisplacementPointPatchVectorField::updateCoeffs()
         {
             if (lookupGravity_ == -2)
             {
-                FatalErrorIn
-                (
-                    "void sixDoFRigidBodyDisplacementPointPatchVectorField"
-                    "::updateCoeffs()"
-                )
+                FatalErrorInFunction
                     << "Specifying the value of g in this boundary condition "
                     << "when g is available from the database is considered "
                     << "a fatal error to avoid the possibility of inconsistency"
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/axis/sixDoFRigidBodyMotionAxisConstraint.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/axis/sixDoFRigidBodyMotionAxisConstraint.C
index a06ca8a7997..985d7ae4caa 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/axis/sixDoFRigidBodyMotionAxisConstraint.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/axis/sixDoFRigidBodyMotionAxisConstraint.C
@@ -102,13 +102,7 @@ bool Foam::sixDoFRigidBodyMotionConstraints::axis::read
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionConstraints::axis::read"
-            "("
-                "const dictionary& sDoFRBMCDict"
-            ")"
-        )
+        FatalErrorInFunction
             << "axis has zero length"
             << abort(FatalError);
     }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/line/sixDoFRigidBodyMotionLineConstraint.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/line/sixDoFRigidBodyMotionLineConstraint.C
index 259f35b317e..7e7189b0d1d 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/line/sixDoFRigidBodyMotionLineConstraint.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/line/sixDoFRigidBodyMotionLineConstraint.C
@@ -116,13 +116,7 @@ bool Foam::sixDoFRigidBodyMotionConstraints::line::read
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionConstraints::line::read"
-            "("
-                "const dictionary& sDoFRBMCDict"
-            ")"
-        )
+        FatalErrorInFunction
             << "line direction has zero length"
             << abort(FatalError);
     }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/sixDoFRigidBodyMotionConstraint/sixDoFRigidBodyMotionConstraintNew.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/sixDoFRigidBodyMotionConstraint/sixDoFRigidBodyMotionConstraintNew.C
index 8893d8e8017..9173e2fb810 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/sixDoFRigidBodyMotionConstraint/sixDoFRigidBodyMotionConstraintNew.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/sixDoFRigidBodyMotionConstraint/sixDoFRigidBodyMotionConstraintNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,15 +45,8 @@ Foam::sixDoFRigidBodyMotionConstraint::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "sixDoFRigidBodyMotionConstraint::New"
-            "("
-                "const word& name,"
-                "const dictionary& sDoFRBMCDict"
-                "const sixDoFRigidBodyMotion& motion"
-            ")"
-        )   << "Unknown sixDoFRigidBodyMotionConstraint type "
+        FatalErrorInFunction
+            << "Unknown sixDoFRigidBodyMotionConstraint type "
             << constraintType << nl << nl
             << "Valid sixDoFRigidBodyMotionConstraints are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C
index 28a9774d5e2..7f0d8ddb010 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C
@@ -152,14 +152,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::linearAxialAngularSpring::read
 
     if (mag(mag(refQ_) - sqrt(3.0)) > 1e-9)
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionRestraints::linearAxialAngularSpring::"
-            "read"
-            "("
-                "const dictionary& sDoFRBMRDict"
-            ")"
-        )
+        FatalErrorInFunction
             << "referenceOrientation " << refQ_ << " is not a rotation tensor. "
             << "mag(referenceOrientation) - sqrt(3) = "
             << mag(refQ_) - sqrt(3.0) << nl
@@ -176,14 +169,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::linearAxialAngularSpring::read
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionRestraints::linearAxialAngularSpring::"
-            "read"
-            "("
-                "const dictionary& sDoFRBMCDict"
-            ")"
-        )
+        FatalErrorInFunction
             << "axis has zero length"
             << abort(FatalError);
     }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sixDoFRigidBodyMotionRestraint/sixDoFRigidBodyMotionRestraintNew.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sixDoFRigidBodyMotionRestraint/sixDoFRigidBodyMotionRestraintNew.C
index 1bb047a77d6..3398826611d 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sixDoFRigidBodyMotionRestraint/sixDoFRigidBodyMotionRestraintNew.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sixDoFRigidBodyMotionRestraint/sixDoFRigidBodyMotionRestraintNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,13 +44,8 @@ Foam::sixDoFRigidBodyMotionRestraint::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "sixDoFRigidBodyMotionRestraint::New"
-            "("
-                "const dictionary& sDoFRBMRDict"
-            ")"
-        )   << "Unknown sixDoFRigidBodyMotionRestraint type "
+        FatalErrorInFunction
+            << "Unknown sixDoFRigidBodyMotionRestraint type "
             << restraintType << nl << nl
             << "Valid sixDoFRigidBodyMotionRestraint types are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularSpring/sphericalAngularSpring.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularSpring/sphericalAngularSpring.C
index 5419f9285c2..4ae6f217a40 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularSpring/sphericalAngularSpring.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularSpring/sphericalAngularSpring.C
@@ -126,14 +126,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::sphericalAngularSpring::read
 
     if (mag(mag(refQ_) - sqrt(3.0)) > 1e-9)
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionRestraints::sphericalAngularSpring::"
-            "read"
-            "("
-                "const dictionary& sDoFRBMRDict"
-            ")"
-        )
+        FatalErrorInFunction
             << "referenceOrientation " << refQ_ << " is not a rotation tensor. "
             << "mag(referenceOrientation) - sqrt(3) = "
             << mag(refQ_) - sqrt(3.0) << nl
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/tabulatedAxialAngularSpring/tabulatedAxialAngularSpring.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/tabulatedAxialAngularSpring/tabulatedAxialAngularSpring.C
index d9ab2c27136..acaeea98fcd 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/tabulatedAxialAngularSpring/tabulatedAxialAngularSpring.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/tabulatedAxialAngularSpring/tabulatedAxialAngularSpring.C
@@ -153,14 +153,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::tabulatedAxialAngularSpring::read
 
     if (mag(mag(refQ_) - sqrt(3.0)) > 1e-9)
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionRestraints::"
-            "tabulatedAxialAngularSpring::read"
-            "("
-                "const dictionary& sDoFRBMRDict"
-            ")"
-        )
+        FatalErrorInFunction
             << "referenceOrientation " << refQ_ << " is not a rotation tensor. "
             << "mag(referenceOrientation) - sqrt(3) = "
             << mag(refQ_) - sqrt(3.0) << nl
@@ -177,14 +170,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::tabulatedAxialAngularSpring::read
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionRestraints::"
-            "tabulatedAxialAngularSpring::read"
-            "("
-                "const dictionary& sDoFRBMCDict"
-            ")"
-        )
+        FatalErrorInFunction
             << "axis has zero length"
             << abort(FatalError);
     }
@@ -203,14 +189,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::tabulatedAxialAngularSpring::read
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionRestraints::"
-            "tabulatedAxialAngularSpring::read"
-            "("
-                "const dictionary&"
-            ")"
-        )
+        FatalErrorInFunction
             << "angleFormat must be degree, degrees, radian or radians"
             << abort(FatalError);
     }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C
index 1d3d01856d0..2ca63eb8f37 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C
@@ -171,10 +171,8 @@ void Foam::sixDoFRigidBodyMotionSolver::solve()
 
     if (mesh().nPoints() != points0().size())
     {
-        FatalErrorIn
-        (
-            "sixDoFRigidBodyMotionSolver::curPoints() const"
-        )   << "The number of points in the mesh seems to have changed." << endl
+        FatalErrorInFunction
+            << "The number of points in the mesh seems to have changed." << endl
             << "In constant/polyMesh there are " << points0().size()
             << " points; in the current mesh there are " << mesh().nPoints()
             << " points." << exit(FatalError);
diff --git a/src/sixDoFRigidBodyMotion/sixDoFSolvers/sixDoFSolver/newSixDoFSolver.C b/src/sixDoFRigidBodyMotion/sixDoFSolvers/sixDoFSolver/newSixDoFSolver.C
index 329a9aaea18..d9d92826c70 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFSolvers/sixDoFSolver/newSixDoFSolver.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFSolvers/sixDoFSolver/newSixDoFSolver.C
@@ -42,7 +42,7 @@ Foam::autoPtr<Foam::sixDoFSolver> Foam::sixDoFSolver::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("sixDoFSolver::New")
+        FatalErrorInFunction
             << "Unknown sixDoFSolverType type "
             << sixDoFSolverType << endl << endl
             << "Valid sixDoFSolver types are : " << endl
diff --git a/src/sixDoFRigidBodyMotion/sixDoFSolvers/symplectic/symplectic.C b/src/sixDoFRigidBodyMotion/sixDoFSolvers/symplectic/symplectic.C
index 61d94abc7a9..bd678d1090d 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFSolvers/symplectic/symplectic.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFSolvers/symplectic/symplectic.C
@@ -69,7 +69,7 @@ void Foam::sixDoFSolvers::symplectic::solve
 {
     if (!firstIter)
     {
-        FatalErrorIn("sixDoFSolvers::symplectic::solve")
+        FatalErrorInFunction
             << "The symplectic integrator is explicit "
                "and can only be solved once per time-step"
             << exit(FatalError);
diff --git a/src/surfMesh/MeshedSurface/MeshedSurface.C b/src/surfMesh/MeshedSurface/MeshedSurface.C
index 0fec3ea958a..a79dfe05214 100644
--- a/src/surfMesh/MeshedSurface/MeshedSurface.C
+++ b/src/surfMesh/MeshedSurface/MeshedSurface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -141,11 +141,8 @@ void Foam::MeshedSurface<Face>::write
         }
         else
         {
-            FatalErrorIn
-            (
-                "MeshedSurface::write"
-                "(const fileName&, const MeshedSurface&)"
-            )   << "Unknown file extension " << ext << nl << nl
+            FatalErrorInFunction
+                << "Unknown file extension " << ext << nl << nl
                 << "Valid types are :" << endl
                 << (supported | writeTypes())
                 << exit(FatalError);
@@ -692,7 +689,7 @@ bool Foam::MeshedSurface<Face>::checkFaces
             {
                 if (f[fp] < 0 || f[fp] > maxPointI)
                 {
-                    FatalErrorIn("MeshedSurface::checkFaces(bool)")
+                    FatalErrorInFunction
                         << "face " << f
                         << " uses point indices outside point range 0.."
                     << maxPointI
@@ -711,10 +708,8 @@ bool Foam::MeshedSurface<Face>::checkFaces
             changed = true;
             if (verbose)
             {
-                WarningIn
-                (
-                    "MeshedSurface::checkFaces(bool verbose)"
-                )   << "face[" << faceI << "] = " << f
+                WarningInFunction
+                    << "face[" << faceI << "] = " << f
                     << " does not have three unique vertices" << endl;
             }
         }
@@ -759,10 +754,8 @@ bool Foam::MeshedSurface<Face>::checkFaces
 
                 if (verbose)
                 {
-                    WarningIn
-                    (
-                        "MeshedSurface::checkFaces(bool verbose)"
-                    )   << "faces share the same vertices:" << nl
+                    WarningInFunction
+                        << "faces share the same vertices:" << nl
                         << "    face[" << faceI << "] : " << f << nl
                         << "    face[" << neiFaceI << "] : " << nei << endl;
                     // printFace(Warning, "    ", f, points());
@@ -793,10 +786,8 @@ bool Foam::MeshedSurface<Face>::checkFaces
 
         if (verbose)
         {
-            WarningIn
-            (
-                "MeshedSurface::checkFaces(bool verbose)"
-            )   << "Removed " << faceLst.size() - newFaceI
+            WarningInFunction
+                << "Removed " << faceLst.size() - newFaceI
                 << " illegal faces." << endl;
         }
 
diff --git a/src/surfMesh/MeshedSurface/MeshedSurfaceNew.C b/src/surfMesh/MeshedSurface/MeshedSurfaceNew.C
index f9ae62a4ac3..d20c3fc7793 100644
--- a/src/surfMesh/MeshedSurface/MeshedSurfaceNew.C
+++ b/src/surfMesh/MeshedSurface/MeshedSurfaceNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,11 +59,8 @@ Foam::MeshedSurface<Face>::New(const fileName& name, const word& ext)
         // nothing left to try, issue error
         supported += readTypes();
 
-        FatalErrorIn
-        (
-            "MeshedSurface<Face>::New(const fileName&, const word&) : "
-            "constructing MeshedSurface"
-        )   << "Unknown file extension " << ext << nl << nl
+        FatalErrorInFunction
+            << "Unknown file extension " << ext << nl << nl
             << "Valid types are :" << nl
             << supported
             << exit(FatalError);
diff --git a/src/surfMesh/MeshedSurface/MeshedSurfaceZones.C b/src/surfMesh/MeshedSurface/MeshedSurfaceZones.C
index 6e9ca90c634..cea56fc0724 100644
--- a/src/surfMesh/MeshedSurface/MeshedSurfaceZones.C
+++ b/src/surfMesh/MeshedSurface/MeshedSurfaceZones.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,10 +44,7 @@ void Foam::MeshedSurface<Face>::checkZones()
 
         if (count < this->size())
         {
-            WarningIn
-            (
-                "MeshedSurface::checkZones()\n"
-            )
+            WarningInFunction
                 << "more faces " << this->size() << " than zones " << count
                 << " ... extending final zone"
                 << endl;
@@ -56,10 +53,7 @@ void Foam::MeshedSurface<Face>::checkZones()
         }
         else if (count > this->size())
         {
-            FatalErrorIn
-            (
-                "MeshedSurface::checkZones()\n"
-            )
+            FatalErrorInFunction
                 << "more zones " << count << " than faces " << this->size()
                 << exit(FatalError);
         }
diff --git a/src/surfMesh/MeshedSurfaceProxy/MeshedSurfaceProxy.C b/src/surfMesh/MeshedSurfaceProxy/MeshedSurfaceProxy.C
index 72cdd6af87b..ac75fa52d89 100644
--- a/src/surfMesh/MeshedSurfaceProxy/MeshedSurfaceProxy.C
+++ b/src/surfMesh/MeshedSurfaceProxy/MeshedSurfaceProxy.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -75,10 +75,8 @@ void Foam::MeshedSurfaceProxy<Face>::write
 
     if (mfIter == writefileExtensionMemberFunctionTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "MeshedSurfaceProxy::write(const fileName&)"
-        )   << "Unknown file extension " << ext << nl << nl
+        FatalErrorInFunction
+            << "Unknown file extension " << ext << nl << nl
             << "Valid types are :" << endl
             << writeTypes()
             << exit(FatalError);
diff --git a/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurface.C b/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurface.C
index 445ba648ab2..16d2ad18eb3 100644
--- a/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurface.C
+++ b/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -129,11 +129,8 @@ void Foam::UnsortedMeshedSurface<Face>::write
         }
         else
         {
-            FatalErrorIn
-            (
-                "UnsortedMeshedSurface::write"
-                "(const fileName&, const UnsortedMeshedSurface&)"
-            )   << "Unknown file extension " << ext << nl << nl
+            FatalErrorInFunction
+                << "Unknown file extension " << ext << nl << nl
                 << "Valid types are :" << endl
                 << (supported | writeTypes())
                 << exit(FatalError);
diff --git a/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurfaceNew.C b/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurfaceNew.C
index 65f47f4ea51..9a2e01992db 100644
--- a/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurfaceNew.C
+++ b/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurfaceNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -60,12 +60,8 @@ Foam::UnsortedMeshedSurface<Face>::New(const fileName& name, const word& ext)
         // nothing left but to issue an error
         supported += readTypes();
 
-        FatalErrorIn
-        (
-            "UnsortedMeshedSurface<Face>::New"
-            "(const fileName&, const word&) : "
-            "constructing UnsortedMeshedSurface"
-        )   << "Unknown file extension " << ext << nl << nl
+        FatalErrorInFunction
+            << "Unknown file extension " << ext << nl << nl
             << "Valid types are:" << nl
             << supported
             << exit(FatalError);
diff --git a/src/surfMesh/surfMesh/surfMesh.C b/src/surfMesh/surfMesh/surfMesh.C
index ce3cb0958ab..6d234e8e8f0 100644
--- a/src/surfMesh/surfMesh/surfMesh.C
+++ b/src/surfMesh/surfMesh/surfMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -369,10 +369,7 @@ void Foam::surfMesh::checkZones()
 
         if (count < nFaces())
         {
-            WarningIn
-            (
-                "surfMesh::checkZones()\n"
-            )
+            WarningInFunction
                 << "more faces " << nFaces() << " than zones " << count
                 << " ... extending final zone"
                 << endl;
@@ -381,10 +378,7 @@ void Foam::surfMesh::checkZones()
         }
         else if (count > size())
         {
-            FatalErrorIn
-            (
-                "surfMesh::checkZones()\n"
-            )
+            FatalErrorInFunction
                 << "more zones " << count << " than faces " << nFaces()
                 << exit(FatalError);
         }
diff --git a/src/surfMesh/surfMesh/surfMeshIO.C b/src/surfMesh/surfMesh/surfMeshIO.C
index d37ce073819..9cf516bebf1 100644
--- a/src/surfMesh/surfMesh/surfMeshIO.C
+++ b/src/surfMesh/surfMesh/surfMeshIO.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -151,8 +151,7 @@ Foam::surfMesh::readUpdateState Foam::surfMesh::readUpdate()
 
         if (zonesChanged)
         {
-            WarningIn("surfMesh::readUpdateState surfMesh::readUpdate()")
-                << "Number of zones has changed.  This may have "
+            WarningInFunction
                 << "unexpected consequences.  Proceed with care." << endl;
 
             return surfMesh::TOPO_PATCH_CHANGE;
diff --git a/src/surfMesh/surfZone/surfZone/surfZoneIOList.C b/src/surfMesh/surfZone/surfZone/surfZoneIOList.C
index 745fec325f0..6730b4c8ce4 100644
--- a/src/surfMesh/surfZone/surfZone/surfZoneIOList.C
+++ b/src/surfMesh/surfZone/surfZone/surfZoneIOList.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -85,7 +85,7 @@ Foam::surfZoneIOList::surfZoneIOList
 
             if (startFaceI != faceI)
             {
-                FatalErrorIn(functionName)
+                FatalErrorInFunction
                     << "surfZones are not ordered. Start of zone " << zoneI
                     << " does not correspond to sum of preceding zones." << nl
                     << "while reading " << io.objectPath() << endl
diff --git a/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.C b/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.C
index 151f0fd788a..f226acc91d4 100644
--- a/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,10 +55,7 @@ bool Foam::fileFormats::AC3DsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::AC3DsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -71,10 +68,7 @@ bool Foam::fileFormats::AC3DsurfaceFormat<Face>::read
 
     if (version != "b")
     {
-        WarningIn
-        (
-            "fileFormats::AC3DsurfaceFormat::read(const fileName&)"
-        )
+        WarningInFunction
             << "When reading AC3D file " << filename
             << " read header " << line << " with version "
             << version << endl
@@ -85,10 +79,7 @@ bool Foam::fileFormats::AC3DsurfaceFormat<Face>::read
 
     if (!cueTo(is, "OBJECT", args) || (args != "world"))
     {
-        FatalErrorIn
-        (
-            "fileFormats::AC3DsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot find \"OBJECT world\" in file " << filename
             << exit(FatalError);
     }
@@ -123,10 +114,7 @@ bool Foam::fileFormats::AC3DsurfaceFormat<Face>::read
             // zone should always end with 'kids' command ?not sure.
             if (!readCmd(is, cmd, args))
             {
-                FatalErrorIn
-                (
-                    "fileFormats::AC3DsurfaceFormat::read(const fileName&)"
-                )
+                FatalErrorInFunction
                     << "Did not read up to \"kids 0\" while reading zone "
                     << zoneI << " from file " << filename
                     << exit(FatalError);
@@ -151,11 +139,7 @@ bool Foam::fileFormats::AC3DsurfaceFormat<Face>::read
                 //     >> rotation.yx() >> rotation.yy() >> rotation.yz()
                 //     >> rotation.zx() >> rotation.zy() >> rotation.zz();
 
-                WarningIn
-                (
-                    "fileFormats::AC3DsurfaceFormat::read"
-                    "(const fileName&)"
-                )
+                WarningInFunction
                     << "rot (rotation tensor) command not implemented"
                     << "Line:" << cmd << ' ' << args << endl
                     << "while reading zone " << zoneI << endl;
@@ -245,10 +229,7 @@ bool Foam::fileFormats::AC3DsurfaceFormat<Face>::read
 
                 if (nKids != 0)
                 {
-                    FatalErrorIn
-                    (
-                        "fileFormats::AC3DsurfaceFormat::read(const fileName&)"
-                    )
+                    FatalErrorInFunction
                         << "Can only read objects without kids."
                         << " Encountered " << nKids << " kids when"
                         << " reading zone " << zoneI
@@ -293,11 +274,7 @@ void Foam::fileFormats::AC3DsurfaceFormat<Face>::write
 
     if (useFaceMap)
     {
-        FatalErrorIn
-        (
-            "fileFormats::AC3DsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "output with faceMap is not supported " << filename
             << exit(FatalError);
     }
@@ -306,11 +283,7 @@ void Foam::fileFormats::AC3DsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::AC3DsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
@@ -395,11 +368,7 @@ void Foam::fileFormats::AC3DsurfaceFormat<Face>::write
         OFstream os(filename);
         if (!os.good())
         {
-            FatalErrorIn
-            (
-                "fileFormats::AC3DsurfaceFormat::write"
-                "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-            )
+            FatalErrorInFunction
                 << "Cannot open file for writing " << filename
                 << exit(FatalError);
         }
diff --git a/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormatCore.C b/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormatCore.C
index 145d255010a..6d1a8d3fc19 100644
--- a/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormatCore.C
+++ b/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormatCore.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -97,10 +97,7 @@ Foam::string Foam::fileFormats::AC3DsurfaceFormatCore::cueToOrDie
     string args;
     if (!cueTo(is, cmd, args))
     {
-        FatalErrorIn
-        (
-            "fileFormats::AC3DsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot find command " << cmd
             << " " << errorMsg
             << exit(FatalError);
diff --git a/src/surfMesh/surfaceFormats/ftr/FTRsurfaceFormat.C b/src/surfMesh/surfaceFormats/ftr/FTRsurfaceFormat.C
index f8cec7b8564..418bcd9ce7d 100644
--- a/src/surfMesh/surfaceFormats/ftr/FTRsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/ftr/FTRsurfaceFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,10 +52,7 @@ bool Foam::fileFormats::FTRsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::FTRsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.C b/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.C
index 7df9e62edc1..bf55ff46e26 100644
--- a/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,10 +56,7 @@ bool Foam::fileFormats::GTSsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::GTSsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -155,10 +152,7 @@ bool Foam::fileFormats::GTSsurfaceFormat<Face>::read
         label common01 = e0.commonVertex(e1);
         if (common01 == -1)
         {
-            FatalErrorIn
-            (
-                "fileFormats::GTSsurfaceFormat::read(const fileName&)"
-            )
+            FatalErrorInFunction
                 << "Edges 0 and 1 of triangle " << faceI
                 << " do not share a point.\n"
                 << "    edge0:" << e0 << nl
@@ -172,10 +166,7 @@ bool Foam::fileFormats::GTSsurfaceFormat<Face>::read
         label common12 = e1.commonVertex(e2);
         if (common12 == -1)
         {
-            FatalErrorIn
-            (
-                "fileFormats::GTSsurfaceFormat::read(const fileName&)"
-            )
+            FatalErrorInFunction
                 << "Edges 1 and 2 of triangle " << faceI
                 << " do not share a point.\n"
                 << "    edge1:" << e1 << nl
@@ -187,10 +178,7 @@ bool Foam::fileFormats::GTSsurfaceFormat<Face>::read
         // Does edge2 sit between edge1 and 0?
         if (common12 != e1Far || e2Far != e0Far)
         {
-            FatalErrorIn
-            (
-                "fileFormats::GTSsurfaceFormat::read(const fileName&)"
-            )
+            FatalErrorInFunction
                 << "Edges of triangle " << faceI
                 << " reference more than three points.\n"
                 << "    edge0:" << e0 << nl
@@ -253,11 +241,7 @@ void Foam::fileFormats::GTSsurfaceFormat<Face>::write
 
         if (nNonTris)
         {
-            FatalErrorIn
-            (
-                "fileFormats::GTSsurfaceFormat::write"
-                "(const fileName&, const MeshedSurface<Face>&)"
-            )
+            FatalErrorInFunction
                 << "Surface has " << nNonTris << "/" << faceLst.size()
                 << " non-triangulated faces - not writing!" << endl;
             return;
@@ -268,11 +252,7 @@ void Foam::fileFormats::GTSsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::GTSsurfaceFormat::write"
-            "(const fileName&, const MeshedSurface<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
@@ -363,11 +343,7 @@ void Foam::fileFormats::GTSsurfaceFormat<Face>::write
 
         if (nNonTris)
         {
-            FatalErrorIn
-            (
-                "fileFormats::GTSsurfaceFormat::write"
-                "(const fileName&, const UnsortedMeshedSurfaces<Face>&)"
-            )
+            FatalErrorInFunction
                 << "Surface has " << nNonTris << "/" << faceLst.size()
                 << " non-triangulated faces - not writing!" << endl;
             return;
@@ -378,11 +354,7 @@ void Foam::fileFormats::GTSsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::GTSsurfaceFormat::write"
-            "(const fileName&, const UnsortedMeshedSurface<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C b/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C
index d547ce50089..2a7ea0ebc79 100644
--- a/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,10 +53,7 @@ bool Foam::fileFormats::NASsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::NASsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -296,10 +293,7 @@ bool Foam::fileFormats::NASsurfaceFormat<Face>::read
             is.getLine(line);
             if (line[0] != '*')
             {
-                FatalErrorIn
-                (
-                    "fileFormats::NASsurfaceFormat::read(const fileName&)"
-                )
+                FatalErrorInFunction
                     << "Expected continuation symbol '*' when reading GRID*"
                     << " (double precision coordinate) format" << nl
                     << "Read:" << line << nl
diff --git a/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C b/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C
index a4306959a70..fdce18b1451 100644
--- a/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,10 +57,7 @@ bool Foam::fileFormats::OBJsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OBJsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -234,11 +231,7 @@ void Foam::fileFormats::OBJsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OBJsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/off/OFFsurfaceFormat.C b/src/surfMesh/surfaceFormats/off/OFFsurfaceFormat.C
index 8e753fad164..8157f3ae0e5 100644
--- a/src/surfMesh/surfaceFormats/off/OFFsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/off/OFFsurfaceFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,10 +56,7 @@ bool Foam::fileFormats::OFFsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OFFsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -68,10 +65,7 @@ bool Foam::fileFormats::OFFsurfaceFormat<Face>::read
     string hdr = this->getLineNoComment(is);
     if (hdr != "OFF")
     {
-        FatalErrorIn
-        (
-            "fileFormats::OFFsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "OFF file " << filename << " does not start with 'OFF'"
             << exit(FatalError);
     }
@@ -162,11 +156,7 @@ void Foam::fileFormats::OFFsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OFFsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/ofs/OFSsurfaceFormat.C b/src/surfMesh/surfaceFormats/ofs/OFSsurfaceFormat.C
index 8568ca3da45..cb8646e7c2f 100644
--- a/src/surfMesh/surfaceFormats/ofs/OFSsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/ofs/OFSsurfaceFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,10 +53,7 @@ bool Foam::fileFormats::OFSsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OFSsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -103,11 +100,7 @@ bool Foam::fileFormats::OFSsurfaceFormat<Face>::read
 {
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OFSsurfaceFormat::read"
-            "(Istream&, pointField&, List<Face>&, List<surfZone>&)"
-        )
+        FatalErrorInFunction
             << "read error "
             << exit(FatalError);
     }
@@ -155,11 +148,7 @@ bool Foam::fileFormats::OFSsurfaceFormat<Face>::read
 
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OFSsurfaceFormat::read"
-            "(Istream&, MeshedSurface<Face>&)"
-        )
+        FatalErrorInFunction
             << "read error "
             << exit(FatalError);
     }
@@ -210,11 +199,7 @@ void Foam::fileFormats::OFSsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OFSsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.C b/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.C
index 93ad65350eb..99bb93d5030 100644
--- a/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,11 +62,7 @@ void Foam::fileFormats::SMESHsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::SMESHsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C b/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C
index 31e09c8a10b..7d8bb709f41 100644
--- a/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -121,10 +121,7 @@ bool Foam::fileFormats::STARCDsurfaceFormat<Face>::read
     IFstream is(baseName + ".cel");
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STARCDsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << is.name()
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.C b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.C
index 4cd1e0340ba..349296e21bb 100644
--- a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -197,11 +197,7 @@ void Foam::fileFormats::STLsurfaceFormat<Face>::writeAscii
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STLsurfaceFormat::writeAscii"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
@@ -257,11 +253,7 @@ void Foam::fileFormats::STLsurfaceFormat<Face>::writeBinary
     std::ofstream os(filename.c_str(), std::ios::binary);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STLsurfaceFormat::writeBinary"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
@@ -343,11 +335,7 @@ void Foam::fileFormats::STLsurfaceFormat<Face>::writeAscii
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STLsurfaceFormat::writeAscii"
-            "(const fileName&, const UnsortedMeshedSurface<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
@@ -395,11 +383,7 @@ void Foam::fileFormats::STLsurfaceFormat<Face>::writeBinary
     std::ofstream os(filename.c_str(), std::ios::binary);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STLsurfaceFormat::writeBinary"
-            "(const fileName&, const UnsortedMeshedSurface<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatASCII.L b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatASCII.L
index 2699c9510c8..e54cca5ebfb 100644
--- a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatASCII.L
+++ b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatASCII.L
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,7 +39,7 @@ using namespace Foam;
 //! \cond dummy
 int yyFlexLexer::yylex()
 {
-    FatalErrorIn("yyFlexLexer::yylex()")
+    FatalErrorInFunction
         << "Should not have called this function"
         << abort(FatalError);
     return 0;
@@ -371,10 +371,8 @@ endsolid              {space}("endsolid"|"ENDSOLID")({some_space}{word})*
 
 <stlError>.* {
         yy_pop_state();
-        FatalErrorIn
-        (
-            "fileFormats::STLsurfaceFormatCore::readASCII(const fileName&)"
-        )   << "while " << stateNames[YY_START] << " on line " << lineNo_ << nl
+        FatalErrorInFunction
+            << "while " << stateNames[YY_START] << " on line " << lineNo_ << nl
             << "    expected " << stateExpects[YY_START]
             << " but found '" << startError_.c_str() << YYText() << "'"
             << exit(FatalError);
diff --git a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatCore.C b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatCore.C
index 7fb655dc5b9..87c6a11abc0 100644
--- a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatCore.C
+++ b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatCore.C
@@ -101,10 +101,7 @@ bool Foam::fileFormats::STLsurfaceFormatCore::readBINARY
     // Check that stream is OK, if not this may be an ASCII file
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STLsurfaceFormatCore::readBINARY(IFstream&)"
-        )
+        FatalErrorInFunction
             << "problem reading header, perhaps file is not binary "
             << exit(FatalError);
     }
@@ -127,10 +124,7 @@ bool Foam::fileFormats::STLsurfaceFormatCore::readBINARY
      || nTris > int(dataFileSize - headerSize)/25
     )
     {
-        FatalErrorIn
-        (
-            "fileFormats::STLsurfaceFormatCore::readBINARY(istream&)"
-        )
+        FatalErrorInFunction
             << "problem reading number of triangles, perhaps file is not binary"
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.C b/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.C
index 5263116fdbc..2335ce30354 100644
--- a/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -148,11 +148,7 @@ void Foam::fileFormats::TRIsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::TRIsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
@@ -195,11 +191,7 @@ void Foam::fileFormats::TRIsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::TRIsurfaceFormat::write"
-            "(const fileName&, const UnsortedMeshedSurface<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormatCore.C b/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormatCore.C
index afbbb5d905c..87cc04d20ec 100644
--- a/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormatCore.C
+++ b/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormatCore.C
@@ -64,10 +64,7 @@ bool Foam::fileFormats::TRIsurfaceFormatCore::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::TRIsurfaceFormatCore::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C b/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C
index cc3741da12d..a252a4732b0 100644
--- a/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -75,10 +75,8 @@ bool Foam::fileFormats::VTKsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::VTKsurfaceFormat::read(const fileName&)"
-        )   << "Cannot read file " << filename
+        FatalErrorInFunction
+            << "Cannot read file " << filename
             << exit(FatalError);
     }
 
@@ -240,11 +238,7 @@ void Foam::fileFormats::VTKsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::VTKsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
@@ -302,11 +296,7 @@ void Foam::fileFormats::VTKsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::VTKsurfaceFormat::write"
-            "(const fileName&, const UnsortedMeshedSurface<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/wrl/WRLsurfaceFormat.C b/src/surfMesh/surfaceFormats/wrl/WRLsurfaceFormat.C
index 0cf411381de..c95a0c0e897 100644
--- a/src/surfMesh/surfaceFormats/wrl/WRLsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/wrl/WRLsurfaceFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,11 +62,7 @@ void Foam::fileFormats::WRLsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::WRLsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.C b/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.C
index 789f5ea6c12..c346bc1632d 100644
--- a/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -64,11 +64,7 @@ void Foam::fileFormats::X3DsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::X3DsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/thermophysicalModels/SLGThermo/SLGThermo/SLGThermo.C b/src/thermophysicalModels/SLGThermo/SLGThermo/SLGThermo.C
index 724120d7909..53c8c6aa764 100644
--- a/src/thermophysicalModels/SLGThermo/SLGThermo/SLGThermo.C
+++ b/src/thermophysicalModels/SLGThermo/SLGThermo/SLGThermo.C
@@ -109,11 +109,8 @@ const Foam::basicSpecieMixture& Foam::SLGThermo::carrier() const
 {
     if (carrier_ == NULL)
     {
-        FatalErrorIn
-        (
-            "const Foam::basicSpecieMixture& "
-            "Foam::SLGThermo::carrier() const"
-        )   << "carrier requested, but object is not allocated"
+        FatalErrorInFunction
+            << "carrier requested, but object is not allocated"
             << abort(FatalError);
     }
 
@@ -125,11 +122,8 @@ const Foam::liquidMixtureProperties& Foam::SLGThermo::liquids() const
 {
     if (!liquids_.valid())
     {
-        FatalErrorIn
-        (
-            "const Foam::liquidMixtureProperties& "
-            "Foam::SLGThermo::liquids() const"
-        )   << "liquids requested, but object is not allocated"
+        FatalErrorInFunction
+            << "liquids requested, but object is not allocated"
             << abort(FatalError);
     }
 
@@ -141,11 +135,8 @@ const Foam::solidMixtureProperties& Foam::SLGThermo::solids() const
 {
     if (!solids_.valid())
     {
-        FatalErrorIn
-        (
-            "const Foam::solidMixtureProperties& "
-            "Foam::SLGThermo::solids() const"
-        )   << "solids requested, but object is not allocated"
+        FatalErrorInFunction
+            << "solids requested, but object is not allocated"
             << abort(FatalError);
     }
 
@@ -169,10 +160,8 @@ Foam::label Foam::SLGThermo::carrierId
 
     if (!allowNotfound)
     {
-        FatalErrorIn
-        (
-            "Foam::label Foam::SLGThermo::carrierId(const word&, bool) const"
-        )   << "Unknown carrier component " << cmptName
+        FatalErrorInFunction
+            << "Unknown carrier component " << cmptName
             << ". Valid carrier components are:" << nl
             << carrier_->species() << exit(FatalError);
     }
@@ -197,10 +186,8 @@ Foam::label Foam::SLGThermo::liquidId
 
     if (!allowNotfound)
     {
-        FatalErrorIn
-        (
-            "Foam::label Foam::SLGThermo::liquidId(const word&, bool) const"
-        )   << "Unknown liquid component " << cmptName << ". Valid liquids are:"
+        FatalErrorInFunction
+            << "Unknown liquid component " << cmptName << ". Valid liquids are:"
             << nl << liquids_->components() << exit(FatalError);
     }
 
@@ -224,10 +211,8 @@ Foam::label Foam::SLGThermo::solidId
 
     if (!allowNotfound)
     {
-        FatalErrorIn
-        (
-            "Foam::label Foam::SLGThermo::solidId(const word&, bool) const"
-        )   << "Unknown solid component " << cmptName << ". Valid solids are:"
+        FatalErrorInFunction
+            << "Unknown solid component " << cmptName << ". Valid solids are:"
             << nl << solids_->components() << exit(FatalError);
     }
 
diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModelNew.C b/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModelNew.C
index 2ee6ee02cd0..c37b8ec0332 100644
--- a/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModelNew.C
+++ b/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,10 +47,8 @@ Foam::barotropicCompressibilityModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "barotropicCompressibilityModel::New(const volScalarField&)"
-        )   << "Unknown barotropicCompressibilityModel type "
+        FatalErrorInFunction
+            << "Unknown barotropicCompressibilityModel type "
             << modelType << nl << nl
             << "Valid barotropicCompressibilityModels are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/thermophysicalModels/basic/basicThermo/basicThermo.C b/src/thermophysicalModels/basic/basicThermo/basicThermo.C
index e7264b0a1fe..b83b6f872c3 100644
--- a/src/thermophysicalModels/basic/basicThermo/basicThermo.C
+++ b/src/thermophysicalModels/basic/basicThermo/basicThermo.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -329,7 +329,7 @@ void Foam::basicThermo::validate
 {
     if (!(he().name() == phasePropertyName(a)))
     {
-        FatalErrorIn(app)
+        FatalErrorInFunction
             << "Supported energy type is " << phasePropertyName(a)
             << ", thermodynamics package provides " << he().name()
             << exit(FatalError);
@@ -351,7 +351,7 @@ void Foam::basicThermo::validate
         )
     )
     {
-        FatalErrorIn(app)
+        FatalErrorInFunction
             << "Supported energy types are " << phasePropertyName(a)
             << " and " << phasePropertyName(b)
             << ", thermodynamics package provides " << he().name()
@@ -376,7 +376,7 @@ void Foam::basicThermo::validate
         )
     )
     {
-        FatalErrorIn(app)
+        FatalErrorInFunction
             << "Supported energy types are " << phasePropertyName(a)
             << ", " << phasePropertyName(b)
             << " and " << phasePropertyName(c)
@@ -404,7 +404,7 @@ void Foam::basicThermo::validate
         )
     )
     {
-        FatalErrorIn(app)
+        FatalErrorInFunction
             << "Supported energy types are " << phasePropertyName(a)
             << ", " << phasePropertyName(b)
             << ", " << phasePropertyName(c)
diff --git a/src/thermophysicalModels/basic/basicThermo/basicThermoTemplates.C b/src/thermophysicalModels/basic/basicThermo/basicThermoTemplates.C
index 4521750996c..c9741c645b5 100644
--- a/src/thermophysicalModels/basic/basicThermo/basicThermoTemplates.C
+++ b/src/thermophysicalModels/basic/basicThermo/basicThermoTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,7 +70,7 @@ typename Table::iterator Foam::basicThermo::lookupThermo
         // Print error message if package not found in the table
         if (cstrIter == tablePtr->end())
         {
-            FatalErrorIn(Thermo::typeName + "::New")
+            FatalErrorInFunction
                 << "Unknown " << Thermo::typeName << " type " << nl
                 << "thermoType" << thermoTypeDict << nl << nl
                 << "Valid " << Thermo::typeName << " types are:" << nl << nl;
@@ -120,7 +120,7 @@ typename Table::iterator Foam::basicThermo::lookupThermo
 
         if (cstrIter == tablePtr->end())
         {
-            FatalErrorIn(Thermo::typeName + "::New")
+            FatalErrorInFunction
                 << "Unknown " << Thermo::typeName << " type "
                 << thermoTypeName << nl << nl
                 << "Valid " << Thermo::typeName << " types are:" << nl
diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModelTemplates.C b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModelTemplates.C
index 7232e9f8072..51dcfd2de89 100644
--- a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModelTemplates.C
+++ b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModelTemplates.C
@@ -98,12 +98,9 @@ Foam::autoPtr<ChemistryModel> Foam::basicChemistryModel::New
         }
         else
         {
-             FatalIOErrorIn
-             (
-                 (ChemistryModel::typeName + "::New(const mesh&)").c_str(),
-                 thermoDict
-             )   << "thermoType is in the old format and must be upgraded"
-                 << exit(FatalIOError);
+            FatalIOErrorInFunction(thermoDict)
+                << "thermoType is in the old format and must be upgraded"
+                << exit(FatalIOError);
         }
 
         // Construct the name of the chemistry type from the components
@@ -117,7 +114,7 @@ Foam::autoPtr<ChemistryModel> Foam::basicChemistryModel::New
 
         if (cstrIter == ChemistryModel::fvMeshConstructorTablePtr_->end())
         {
-            FatalErrorIn(ChemistryModel::typeName + "::New(const mesh&)")
+            FatalErrorInFunction
                 << "Unknown " << ChemistryModel::typeName << " type " << nl
                 << "chemistryType" << chemistryTypeDict << nl << nl
                 << "Valid " << ChemistryModel ::typeName << " types are:"
@@ -173,7 +170,7 @@ Foam::autoPtr<ChemistryModel> Foam::basicChemistryModel::New
 
         if (cstrIter == ChemistryModel::fvMeshConstructorTablePtr_->end())
         {
-            FatalErrorIn(ChemistryModel::typeName + "::New(const mesh&)")
+            FatalErrorInFunction
                 << "Unknown " << ChemistryModel::typeName << " type "
                 << chemistryTypeName << nl << nl
                 << "Valid ChemistryModel types are:" << nl
diff --git a/src/thermophysicalModels/laminarFlameSpeed/RaviPetersen/RaviPetersen.C b/src/thermophysicalModels/laminarFlameSpeed/RaviPetersen/RaviPetersen.C
index cb0ffc16a74..d3f2fc1aa97 100644
--- a/src/thermophysicalModels/laminarFlameSpeed/RaviPetersen/RaviPetersen.C
+++ b/src/thermophysicalModels/laminarFlameSpeed/RaviPetersen/RaviPetersen.C
@@ -85,13 +85,8 @@ void Foam::laminarFlameSpeedModels::RaviPetersen::checkPointsMonotonicity
     {
         if (x[i] <= x[i-1])
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "laminarFlameSpeedModels::RaviPetersen::checkPointsMonotonicity"
-                "("
-                    "const word&, "
-                    "const List<scalar>&"
-                ") const",
                 coeffsDict_
             )   << "Data points for the " << name
                 << " do not increase monotonically" << endl
@@ -123,13 +118,8 @@ void Foam::laminarFlameSpeedModels::RaviPetersen::checkCoefficientArrayShape
 
     if (!ok)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "laminarFlameSpeedModels::RaviPetersen::checkCoefficientArrayShape"
-            "("
-                "const word&, "
-                "const List<List<List<scalar> > >&"
-            ") const",
             coeffsDict_
         )   << "Inconsistent size of " << name << " coefficients array" << endl
             << exit(FatalIOError);
diff --git a/src/thermophysicalModels/laminarFlameSpeed/laminarFlameSpeed/laminarFlameSpeedNew.C b/src/thermophysicalModels/laminarFlameSpeed/laminarFlameSpeed/laminarFlameSpeedNew.C
index 1ca2faa3fca..5b31f20d104 100644
--- a/src/thermophysicalModels/laminarFlameSpeed/laminarFlameSpeed/laminarFlameSpeedNew.C
+++ b/src/thermophysicalModels/laminarFlameSpeed/laminarFlameSpeed/laminarFlameSpeedNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,9 +55,8 @@ Foam::autoPtr<Foam::laminarFlameSpeed> Foam::laminarFlameSpeed::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "laminarFlameSpeed::New(const psiuReactionThermo&)",
             propDict
         )   << "Unknown laminarFlameSpeed type "
             << corrType << nl << nl
diff --git a/src/thermophysicalModels/properties/liquidMixtureProperties/liquidMixtureProperties/liquidMixtureProperties.C b/src/thermophysicalModels/properties/liquidMixtureProperties/liquidMixtureProperties/liquidMixtureProperties.C
index 51350a54daf..84c202b8543 100644
--- a/src/thermophysicalModels/properties/liquidMixtureProperties/liquidMixtureProperties/liquidMixtureProperties.C
+++ b/src/thermophysicalModels/properties/liquidMixtureProperties/liquidMixtureProperties/liquidMixtureProperties.C
@@ -134,14 +134,8 @@ Foam::scalar Foam::liquidMixtureProperties::pvInvert
     }
     else if (p < pv(p, Tlo, X))
     {
-        WarningIn
-        (
-            "Foam::scalar Foam::liquidMixtureProperties::pvInvert"
-            "("
-            "    const scalar,"
-            "    const scalarField&"
-            ") const"
-        )   << "Pressure below triple point pressure: "
+        WarningInFunction
+            << "Pressure below triple point pressure: "
             << "p = " << p << " < Pt = " << pv(p, Tlo, X) <<  nl << endl;
         return -1;
     }
diff --git a/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C b/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C
index a275fb474d4..49ac4ab660b 100644
--- a/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C
+++ b/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C
@@ -136,7 +136,7 @@ Foam::autoPtr<Foam::liquidProperties> Foam::liquidProperties::New(Istream& is)
 
         if (cstrIter == ConstructorTablePtr_->end())
         {
-            FatalErrorIn("liquidProperties::New(Istream&)")
+            FatalErrorInFunction
                 << "Unknown liquidProperties type "
                 << liquidPropertiesType << nl << nl
                 << "Valid liquidProperties types are:" << nl
@@ -152,7 +152,7 @@ Foam::autoPtr<Foam::liquidProperties> Foam::liquidProperties::New(Istream& is)
     }
     else
     {
-        FatalErrorIn("liquidProperties::New(Istream&)")
+        FatalErrorInFunction
             << "liquidProperties type " << liquidPropertiesType
             << ", option " << coeffs << " given"
             << ", should be coeffs or defaultCoeffs"
@@ -185,10 +185,8 @@ Foam::autoPtr<Foam::liquidProperties> Foam::liquidProperties::New
 
         if (cstrIter == ConstructorTablePtr_->end())
         {
-            FatalErrorIn
-            (
-                "liquidProperties::New(const dictionary&)"
-            )   << "Unknown liquidProperties type "
+            FatalErrorInFunction
+                << "Unknown liquidProperties type "
                 << liquidPropertiesTypeName << nl << nl
                 << "Valid liquidProperties types are:" << nl
                 << ConstructorTablePtr_->sortedToc()
@@ -204,10 +202,8 @@ Foam::autoPtr<Foam::liquidProperties> Foam::liquidProperties::New
 
         if (cstrIter == dictionaryConstructorTablePtr_->end())
         {
-            FatalErrorIn
-            (
-                "liquidProperties::New(const dictionary&)"
-            )   << "Unknown liquidProperties type "
+            FatalErrorInFunction
+                << "Unknown liquidProperties type "
                 << liquidPropertiesTypeName << nl << nl
                 << "Valid liquidProperties types are:" << nl
                 << dictionaryConstructorTablePtr_->sortedToc()
@@ -326,10 +322,8 @@ Foam::scalar Foam::liquidProperties::pvInvert(scalar p) const
     {
         if (debug)
         {
-            WarningIn
-            (
-                "Foam::scalar Foam::liquidProperties::pvInvert(scalar) const"
-            )   << "Pressure below triple point pressure: "
+            WarningInFunction
+                << "Pressure below triple point pressure: "
                 << "p = " << p << " < Pt = " << Pt_ <<  nl << endl;
         }
         return -1;
diff --git a/src/thermophysicalModels/properties/solidProperties/C/C.C b/src/thermophysicalModels/properties/solidProperties/C/C.C
index 2baeadaa911..2f8dfa9acba 100644
--- a/src/thermophysicalModels/properties/solidProperties/C/C.C
+++ b/src/thermophysicalModels/properties/solidProperties/C/C.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Foam::C::C()
 {
     if (debug)
     {
-        WarningIn("C::C()")
+        WarningInFunction
             << "Properties of graphite need to be checked!!!"
             << endl;
     }
diff --git a/src/thermophysicalModels/properties/solidProperties/CaCO3/CaCO3.C b/src/thermophysicalModels/properties/solidProperties/CaCO3/CaCO3.C
index 72516736e0d..a7dbb8bff46 100644
--- a/src/thermophysicalModels/properties/solidProperties/CaCO3/CaCO3.C
+++ b/src/thermophysicalModels/properties/solidProperties/CaCO3/CaCO3.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Foam::CaCO3::CaCO3()
 {
     if (debug)
     {
-        WarningIn("CaCO3::CaCO3()")
+        WarningInFunction
             << "Properties of CaCO3 need to be checked!!!"
             << endl;
     }
diff --git a/src/thermophysicalModels/properties/solidProperties/ash/ash.C b/src/thermophysicalModels/properties/solidProperties/ash/ash.C
index 199bde39e9d..381191f89ea 100644
--- a/src/thermophysicalModels/properties/solidProperties/ash/ash.C
+++ b/src/thermophysicalModels/properties/solidProperties/ash/ash.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Foam::ash::ash()
 {
     if (debug)
     {
-        WarningIn("ash::ash()")
+        WarningInFunction
             << "Properties of ash need to be checked!!!"
             << endl;
     }
diff --git a/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesNew.C b/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesNew.C
index ead56293d76..a913aa71d3c 100644
--- a/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesNew.C
+++ b/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,7 +46,7 @@ Foam::autoPtr<Foam::solidProperties> Foam::solidProperties::New(Istream& is)
 
         if (cstrIter == ConstructorTablePtr_->end())
         {
-            FatalErrorIn("solidProperties::New(Istream&)")
+            FatalErrorInFunction
                 << "Unknown solidProperties type " << solidType << nl << nl
                 << "Valid solidProperties types are :" << endl
                 << ConstructorTablePtr_->sortedToc()
@@ -61,7 +61,7 @@ Foam::autoPtr<Foam::solidProperties> Foam::solidProperties::New(Istream& is)
     }
     else
     {
-        FatalErrorIn("solidProperties::New(Istream&)")
+        FatalErrorInFunction
             << "solidProperties type " << solidType
             << ", option " << coeffs << " given"
             << ", should be coeffs or defaultCoeffs"
@@ -93,7 +93,7 @@ Foam::autoPtr<Foam::solidProperties> Foam::solidProperties::New
 
         if (cstrIter == ConstructorTablePtr_->end())
         {
-            FatalErrorIn("solidProperties::New(const dictionary&)")
+            FatalErrorInFunction
                 << "Unknown solidProperties type " << solidType << nl << nl
                 << "Valid solidProperties types are :" << endl
                 << ConstructorTablePtr_->sortedToc()
diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C
index cafab541ac9..f07c7c5a092 100644
--- a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C
+++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C
@@ -172,11 +172,8 @@ updateCoeffs()
 
     if (dom.nLambda() != 1)
     {
-        FatalErrorIn
-        (
-            "Foam::radiation::"
-            "greyDiffusiveRadiationMixedFvPatchScalarField::updateCoeffs"
-        )   << " a grey boundary condition is used with a non-grey "
+        FatalErrorInFunction
+            << " a grey boundary condition is used with a non-grey "
             << "absorption model" << nl << exit(FatalError);
     }
 
diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.C
index b1a1886130c..98fb60d6be1 100644
--- a/src/thermophysicalModels/radiation/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.C
+++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.C
@@ -101,13 +101,8 @@ Foam::radiationCoupledBase::radiationCoupledBase
         {
             if (!isA<mappedPatchBase>(patch_.patch()))
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "radiationCoupledBase::radiationCoupledBase\n"
-                    "(\n"
-                    "    const fvPatch& p,\n"
-                    "    const dictionary& dict\n"
-                    ")\n",
                     dict
                 )   << "\n    patch type '" << patch_.type()
                     << "' not type '" << mappedPatchBase::typeName << "'"
@@ -123,13 +118,8 @@ Foam::radiationCoupledBase::radiationCoupledBase
         {
             if (!dict.found("emissivity"))
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "radiationCoupledBase::radiationCoupledBase\n"
-                    "(\n"
-                    "    const fvPatch& p,\n"
-                    "    const dictionary& dict\n"
-                    ")\n",
                     dict
                 )   << "\n    emissivity key does not exist for patch "
                     << patch_.name()
@@ -200,10 +190,8 @@ Foam::scalarField Foam::radiationCoupledBase::emissivity() const
 
         default:
         {
-            FatalErrorIn
-            (
-                "radiationCoupledBase::emissivity(const scalarField&)"
-            )   << "Unimplemented method " << method_ << endl
+            FatalErrorInFunction
+                << "Unimplemented method " << method_ << endl
                 << "Please set 'emissivity' to one of "
                 << emissivityMethodTypeNames_.toc()
                 << exit(FatalError);
diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C
index 5c0d8447016..3d768a0bd89 100644
--- a/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C
+++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C
@@ -173,11 +173,8 @@ updateCoeffs()
 
     if (dom.nLambda() == 0)
     {
-        FatalErrorIn
-        (
-            "Foam::radiation::"
-            "wideBandDiffusiveRadiationMixedFvPatchScalarField::updateCoeffs"
-        )   << " a non-grey boundary condition is used with a grey "
+        FatalErrorInFunction
+            << " a non-grey boundary condition is used with a grey "
             << "absorption model" << nl << exit(FatalError);
     }
 
diff --git a/src/thermophysicalModels/radiation/radiationModels/fvDOM/absorptionCoeffs/absorptionCoeffs.C b/src/thermophysicalModels/radiation/radiationModels/fvDOM/absorptionCoeffs/absorptionCoeffs.C
index a97cc591f7f..c3bc3ef327b 100644
--- a/src/thermophysicalModels/radiation/radiationModels/fvDOM/absorptionCoeffs/absorptionCoeffs.C
+++ b/src/thermophysicalModels/radiation/radiationModels/fvDOM/absorptionCoeffs/absorptionCoeffs.C
@@ -59,10 +59,8 @@ void Foam::radiation::absorptionCoeffs::checkT(const scalar T) const
 {
     if (T < Tlow_ || T > Thigh_)
     {
-        WarningIn
-        (
-            "absorptionCoeffs::checkT(const scalar T) const"
-        )   << "usinf absCoeff out of temperature range:" << nl
+        WarningInFunction
+            << "usinf absCoeff out of temperature range:" << nl
             << "    " << Tlow_ << " -> " << Thigh_ << ";  T = " << T
             << nl << endl;
     }
diff --git a/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C b/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C
index 9c6781cef89..61878d35e85 100644
--- a/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C
+++ b/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C
@@ -90,7 +90,7 @@ void Foam::radiation::fvDOM::initialise()
         // Currently 2D solution is limited to the x-y plane
         if (mesh_.solutionD()[vector::Z] != -1)
         {
-            FatalErrorIn("fvDOM::initialise()")
+            FatalErrorInFunction
                 << "Currently 2D solution is limited to the x-y plane"
                 << exit(FatalError);
         }
@@ -130,7 +130,7 @@ void Foam::radiation::fvDOM::initialise()
         // Currently 1D solution is limited to the x-direction
         if (mesh_.solutionD()[vector::X] != 1)
         {
-            FatalErrorIn("fvDOM::initialise()")
+            FatalErrorInFunction
                 << "Currently 1D solution is limited to the x-direction"
                 << exit(FatalError);
         }
diff --git a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.C b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.C
index c73602c3d3d..c8ae902c49e 100644
--- a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.C
+++ b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.C
@@ -263,11 +263,7 @@ Foam::radiation::radiationModel::absorptionEmission() const
 {
     if (!absorptionEmission_.valid())
     {
-        FatalErrorIn
-        (
-            "const Foam::radiation::absorptionEmissionModel&"
-            "Foam::radiation::radiationModel::absorptionEmission() const"
-        )
+        FatalErrorInFunction
             << "Requested radiation absorptionEmission model, but model is "
             << "not activate" << abort(FatalError);
     }
@@ -281,11 +277,7 @@ Foam::radiation::radiationModel::soot() const
 {
     if (!soot_.valid())
     {
-        FatalErrorIn
-        (
-            "const Foam::radiation::sootModel&"
-            "Foam::radiation::radiationModel::soot() const"
-        )
+        FatalErrorInFunction
             << "Requested radiation sootModel model, but model is "
             << "not activate" << abort(FatalError);
     }
diff --git a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModelNew.C b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModelNew.C
index 6a7932ab29b..1622d6093e8 100644
--- a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModelNew.C
+++ b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModelNew.C
@@ -62,10 +62,8 @@ Foam::radiation::radiationModel::New
 
     if (cstrIter == TConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "radiationModel::New(const volScalarField&)"
-        )   << "Unknown radiationModel type "
+        FatalErrorInFunction
+            << "Unknown radiationModel type "
             << modelType << nl << nl
             << "Valid radiationModel types are:" << nl
             << TConstructorTablePtr_->sortedToc()
@@ -92,10 +90,8 @@ Foam::radiation::radiationModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "radiationModel::New(const dictionary&, const volScalarField&)"
-        )   << "Unknown radiationModel type "
+        FatalErrorInFunction
+            << "Unknown radiationModel type "
             << modelType << nl << nl
             << "Valid radiationModel types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C b/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C
index c28faa6cda1..286218ee24e 100644
--- a/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C
+++ b/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C
@@ -80,7 +80,7 @@ void Foam::radiation::viewFactor::initialise()
 
     if (debug && Pstream::master())
     {
-        InfoIn("radiation::viewFactor::initialise()")
+        InfoInFunction
             << "Total number of clusters : " << totalNCoarseFaces_ << endl;
     }
 
@@ -178,7 +178,7 @@ void Foam::radiation::viewFactor::initialise()
 
         if (debug)
         {
-            InfoIn("radiation::viewFactor::initialise()")
+            InfoInFunction
                 << "Insert elements in the matrix..." << endl;
         }
 
@@ -200,7 +200,7 @@ void Foam::radiation::viewFactor::initialise()
         {
             if (debug)
             {
-                InfoIn("radiation::viewFactor::initialise()")
+                InfoInFunction
                     << "Smoothing the matrix..." << endl;
             }
 
@@ -581,7 +581,7 @@ void Foam::radiation::viewFactor::calculate()
 
                 if (debug)
                 {
-                    InfoIn("radiation::viewFactor::initialise()")
+                    InfoInFunction
                         << "\nDecomposing C matrix..." << endl;
                 }
 
@@ -609,7 +609,7 @@ void Foam::radiation::viewFactor::calculate()
 
             if (debug)
             {
-                InfoIn("radiation::viewFactor::initialise()")
+                InfoInFunction
                     << "\nLU Back substitute C matrix.." << endl;
             }
 
@@ -667,7 +667,7 @@ void Foam::radiation::viewFactor::calculate()
             const scalarField& magSf = mesh_.magSf().boundaryField()[patchID];
             scalar heatFlux = gSum(Qrp*magSf);
 
-            InfoIn("radiation::viewFactor::initialise()")
+            InfoInFunction
                 << "Total heat transfer rate at patch: "
                 << patchID << " "
                 << heatFlux << endl;
diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/absorptionEmissionModelNew.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/absorptionEmissionModelNew.C
index a4ed016aab6..c509e25d9e7 100644
--- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/absorptionEmissionModelNew.C
+++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/absorptionEmissionModelNew.C
@@ -44,10 +44,8 @@ Foam::radiation::absorptionEmissionModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "absorptionEmissionModel::New(const dictionary&, const fvMesh&)"
-        )   << "Unknown absorptionEmissionModel type "
+        FatalErrorInFunction
+            << "Unknown absorptionEmissionModel type "
             << modelType << nl << nl
             << "Valid absorptionEmissionModel types are :" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C
index 29cbf3241f6..985935df96f 100644
--- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C
+++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C
@@ -66,14 +66,8 @@ Foam::radiation::greyMeanAbsorptionEmission::greyMeanAbsorptionEmission
 {
     if (!isA<basicSpecieMixture>(thermo_))
     {
-        FatalErrorIn
-        (
-            "radiation::greyMeanAbsorptionEmission::greyMeanAbsorptionEmission"
-            "("
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )   << "Model requires a multi-component thermo package"
+        FatalErrorInFunction
+            << "Model requires a multi-component thermo package"
             << abort(FatalError);
     }
 
@@ -112,11 +106,8 @@ Foam::radiation::greyMeanAbsorptionEmission::greyMeanAbsorptionEmission
 
             if (!mesh.foundObject<volScalarField>("ft"))
             {
-                FatalErrorIn
-                (
-                    "Foam::radiation::greyMeanAbsorptionEmission(const"
-                    "dictionary& dict, const fvMesh& mesh)"
-                )   << "specie ft is not present to use with "
+                FatalErrorInFunction
+                    << "specie ft is not present to use with "
                     << "lookUpTableFileName " << nl
                     << exit(FatalError);
             }
@@ -154,11 +145,8 @@ Foam::radiation::greyMeanAbsorptionEmission::greyMeanAbsorptionEmission
             }
             else
             {
-                FatalErrorIn
-                (
-                    "Foam::radiation::greyMeanAbsorptionEmission(const"
-                    "dictionary& dict, const fvMesh& mesh)"
-                )   << "specie: " << iter.key()
+                FatalErrorInFunction
+                    << "specie: " << iter.key()
                     << " is neither in look-up table: "
                     << lookUpTablePtr_().tableName()
                     << " nor is being solved" << nl
@@ -179,11 +167,8 @@ Foam::radiation::greyMeanAbsorptionEmission::greyMeanAbsorptionEmission
         }
         else
         {
-            FatalErrorIn
-            (
-                "Foam::radiation::greyMeanAbsorptionEmission(const"
-                "dictionary& dict, const fvMesh& mesh)"
-            )   << " there is not lookup table and the specie" << nl
+            FatalErrorInFunction
+                << " there is not lookup table and the specie" << nl
                 << iter.key() << nl
                 << " is not found " << nl
                 << exit(FatalError);
@@ -325,28 +310,15 @@ Foam::radiation::greyMeanAbsorptionEmission::ECont(const label bandI) const
         {
             if (debug)
             {
-                WarningIn
-                (
-                    "tmp<volScalarField>"
-                    "radiation::greyMeanAbsorptionEmission::ECont"
-                    "("
-                        "const label"
-                    ") const"
-                )
+                WarningInFunction
                     << "Incompatible dimensions for dQ field" << endl;
             }
         }
     }
     else
     {
-        WarningIn
-        (
-            "tmp<volScalarField>"
-            "radiation::greyMeanAbsorptionEmission::ECont"
-            "("
-                "const label"
-            ") const"
-        ) << "dQ field not found in mesh" << endl;
+        WarningInFunction
+          << "dQ field not found in mesh" << endl;
     }
 
     return E;
diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C
index b2775f3149b..14497374c0a 100644
--- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C
+++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C
@@ -98,15 +98,8 @@ greyMeanSolidAbsorptionEmission
 {
     if (!isA<basicSpecieMixture>(thermo_))
     {
-        FatalErrorIn
-        (
-            "radiation::greyMeanSolidAbsorptionEmission::"
-            "greyMeanSolidAbsorptionEmission"
-            "("
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )   << "Model requires a multi-component thermo package"
+        FatalErrorInFunction
+            << "Model requires a multi-component thermo package"
             << abort(FatalError);
     }
 
@@ -123,15 +116,8 @@ greyMeanSolidAbsorptionEmission
         const word& key = iter().keyword();
         if (!mixture_.contains(key))
         {
-            WarningIn
-            (
-                "greyMeanSolidAbsorptionEmission::"
-                "greyMeanSolidAbsorptionEmission "
-                "("
-                "   const dictionary& dict,"
-                "   const fvMesh& mesh"
-                ")"
-            )   << " specie: " << key << " is not found in the solid mixture"
+            WarningInFunction
+                << " specie: " << key << " is not found in the solid mixture"
                 << nl
                 << " specie is the mixture are:" << mixture_.species() << nl
                 << nl << endl;
diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C
index afca1f9d539..7147a96065a 100644
--- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C
+++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C
@@ -94,11 +94,8 @@ Foam::radiation::wideBandAbsorptionEmission::wideBandAbsorptionEmission
             {
                 if (!speciesNames_.found(key))
                 {
-                    FatalErrorIn
-                    (
-                        "Foam::radiation::wideBandAbsorptionEmission(const"
-                        "dictionary& dict, const fvMesh& mesh)"
-                    )   << "specie: " << key << "is not in all the bands"
+                    FatalErrorInFunction
+                        << "specie: " << key << "is not in all the bands"
                         << nl << exit(FatalError);
                 }
             }
@@ -135,11 +132,8 @@ Foam::radiation::wideBandAbsorptionEmission::wideBandAbsorptionEmission
         }
         else
         {
-            FatalErrorIn
-            (
-                "radiation::wideBandAbsorptionEmission(const"
-                "dictionary& dict, const fvMesh& mesh)"
-            )   << "specie: " << iter.key()
+            FatalErrorInFunction
+                << "specie: " << iter.key()
                 << " is neither in look-up table : "
                 << lookUpTable_.tableName() << " nor is being solved"
                 << exit(FatalError);
@@ -278,14 +272,7 @@ Foam::radiation::wideBandAbsorptionEmission::ECont(const label bandI) const
         }
         else
         {
-            WarningIn
-            (
-                "tmp<volScalarField>"
-                "radiation::wideBandAbsorptionEmission::ECont"
-                "("
-                    "const label"
-                ") const"
-            )
+            WarningInFunction
                 << "Incompatible dimensions for dQ field" << endl;
         }
     }
diff --git a/src/thermophysicalModels/radiation/submodels/scatterModel/scatterModel/scatterModelNew.C b/src/thermophysicalModels/radiation/submodels/scatterModel/scatterModel/scatterModelNew.C
index d2f76834f1c..9f6951323c9 100644
--- a/src/thermophysicalModels/radiation/submodels/scatterModel/scatterModel/scatterModelNew.C
+++ b/src/thermophysicalModels/radiation/submodels/scatterModel/scatterModel/scatterModelNew.C
@@ -43,10 +43,8 @@ Foam::autoPtr<Foam::radiation::scatterModel> Foam::radiation::scatterModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "scatterModel::New(const dictionary&, const fvMesh&)"
-        )   << "Unknown scatterModel type "
+        FatalErrorInFunction
+            << "Unknown scatterModel type "
             << modelType << nl << nl
             << "Valid scatterModel types are :" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/thermophysicalModels/radiation/submodels/sootModel/mixtureFractionSoot/mixtureFractionSoot.C b/src/thermophysicalModels/radiation/submodels/sootModel/mixtureFractionSoot/mixtureFractionSoot.C
index 9df8ce99d14..444fd6c6495 100644
--- a/src/thermophysicalModels/radiation/submodels/sootModel/mixtureFractionSoot/mixtureFractionSoot.C
+++ b/src/thermophysicalModels/radiation/submodels/sootModel/mixtureFractionSoot/mixtureFractionSoot.C
@@ -45,15 +45,7 @@ Foam::radiation::mixtureFractionSoot<ThermoType>::checkThermo
     }
     else
     {
-        FatalErrorIn
-        (
-            "template<class ThermoType> "
-            "Foam::radiation::mixtureFractionSoot "
-            "("
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Inconsistent thermo package for " << thermo.type()
             << "Please select a thermo package based on "
             << "singleStepReactingMixture" << exit(FatalError);
diff --git a/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModelNew.C b/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModelNew.C
index 5b760195938..c7807b42411 100644
--- a/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModelNew.C
+++ b/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModelNew.C
@@ -49,10 +49,8 @@ Foam::radiation::sootModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "sootModel::New(const dictionary&, const fvMesh&)"
-        )   << "Unknown sootModel type "
+        FatalErrorInFunction
+            << "Unknown sootModel type "
             << modelType << nl << nl
             << "Valid sootModel types are :" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.C b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.C
index 75a21a16903..54ac871cf8b 100644
--- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.C
+++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,10 +49,8 @@ Foam::chemistryReader<ThermoType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "chemistryReader::New(const dictionary&, speciesTable&)"
-        )   << "Unknown chemistryReader type "
+        FatalErrorInFunction
+            << "Unknown chemistryReader type "
             << chemistryReaderTypeName << nl << nl
             << "Valid chemistryReader types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L
index 98a7bbd29c8..a081d6fc141 100644
--- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L
+++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,7 +41,7 @@ int Foam::chemkinReader::yyBufSize = YY_BUF_SIZE;
 //! \cond dummy
 int yyFlexLexer::yylex()
 {
-    FatalErrorIn("yyFlexLexer::yylex()")
+    FatalErrorInFunction
         << "should not have called this function"
         << abort(Foam::FatalError);
 
@@ -357,7 +357,7 @@ bool finishReaction = false;
         }
         else
         {
-            WarningIn("chemkinReader::lex()")
+            WarningInFunction
                 << "element " << currentElementName
                 << " already in table." << endl;
         }
@@ -412,7 +412,7 @@ bool finishReaction = false;
             }
             else
             {
-                WarningIn("chemkinReader::lex()")
+                WarningInFunction
                     << "specie " << specieName
                     << " already in table." << endl;
             }
@@ -719,7 +719,7 @@ bool finishReaction = false;
                 {
                     if (rrType != Arrhenius && rrType != thirdBodyArrhenius)
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set reaction rate type to"
                                " thirdBodyArrhenius when it is already set to "
                             << reactionRateTypeNames[rrType]
@@ -729,7 +729,7 @@ bool finishReaction = false;
 
                     if (pDependentSpecieName.size())
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "A non-pressure dependent third-body appears in"
                                " the pressure dependent reaction on line "
                             << lineNo_
@@ -753,7 +753,7 @@ bool finishReaction = false;
 
                 case plasmaMomentumTransfer:
                 {
-                    FatalErrorIn("chemkinReader::lex()")
+                    FatalErrorInFunction
                         << "Plasma momentum-transfer in reaction on line "
                         << lineNo_ << "not yet supported"
                         << exit(FatalError);
@@ -764,7 +764,7 @@ bool finishReaction = false;
 
                 case collisionCrossSection:
                 {
-                    FatalErrorIn("chemkinReader::lex()")
+                    FatalErrorInFunction
                         << "Collision cross-section in reaction on line "
                         << lineNo_ << "not yet supported"
                         << exit(FatalError);
@@ -800,7 +800,7 @@ bool finishReaction = false;
 
                 default:
                 {
-                    FatalErrorIn("chemkinReader::lex()")
+                    FatalErrorInFunction
                         << "keyword " << keyword
                         << " should be followed by parameters"
                         << " on line " << lineNo_
@@ -871,7 +871,7 @@ bool finishReaction = false;
                 {
                     if (!pDependentSpecieName.size())
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "LOW keyword given for a unimolecular fall-off"
                                " reaction which does not contain a pressure"
                                " dependent specie" << " on line " << lineNo_
@@ -884,7 +884,7 @@ bool finishReaction = false;
                     }
                     else
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set reaction rate type to"
                                " unimolecularFallOff when it is already set to "
                             << reactionRateTypeNames[rrType]
@@ -906,7 +906,7 @@ bool finishReaction = false;
                 {
                     if (!pDependentSpecieName.size())
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "HIGH keyword given for a chemically"
                                " activated bimolecular reaction which does not"
                                " contain a pressure dependent specie"
@@ -920,7 +920,7 @@ bool finishReaction = false;
                     }
                     else
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set reaction rate type to"
                                " chemicallyActivatedBimolecular when it is"
                                " already set to "
@@ -943,7 +943,7 @@ bool finishReaction = false;
                 {
                     if (!pDependentSpecieName.size())
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "TROE keyword given for a"
                                " reaction which does not contain a pressure"
                                " dependent specie" << " on line " << lineNo_
@@ -960,7 +960,7 @@ bool finishReaction = false;
                     }
                     else
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set fall-off function type to Troe"
                                " when it is already set to "
                             << fallOffFunctionNames[fofType]
@@ -977,7 +977,7 @@ bool finishReaction = false;
                 {
                     if (!pDependentSpecieName.size())
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "SRI keyword given for a"
                                " reaction which does not contain a pressure"
                                " dependent specie" << " on line " << lineNo_
@@ -994,7 +994,7 @@ bool finishReaction = false;
                     }
                     else
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set fall-off function type to SRI"
                                " when it is already set to "
                             << fallOffFunctionNames[fofType]
@@ -1011,7 +1011,7 @@ bool finishReaction = false;
                 {
                     if (pDependentSpecieName.size())
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Landau-Teller reaction rate cannot be used"
                                " for the pressure-dependent reaction on line "
                             << lineNo_
@@ -1024,7 +1024,7 @@ bool finishReaction = false;
                     }
                     else
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set reaction rate type to"
                                " LandauTeller when it is already set to "
                             << reactionRateTypeNames[rrType]
@@ -1042,7 +1042,7 @@ bool finishReaction = false;
                 {
                     if (pDependentSpecieName.size())
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Non-equilibrium Landau-Teller reaction rate"
                                " cannot be used"
                                " for the pressure-dependent reaction on line "
@@ -1052,7 +1052,7 @@ bool finishReaction = false;
 
                     if (rType != nonEquilibriumReversible)
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Reverse reaction Arrhenius coefficients not"
                                " given for reverse LandauTeller reaction."
                                " Please reorder 'REV' keyword to preceed 'RLT'"
@@ -1076,7 +1076,7 @@ bool finishReaction = false;
                     }
                     else
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set reaction rate type to"
                                " Janev when it is already set to "
                             << reactionRateTypeNames[rrType]
@@ -1097,7 +1097,7 @@ bool finishReaction = false;
                     }
                     else
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set reaction rate type to"
                                " powerSeries when it is already set to "
                             << reactionRateTypeNames[rrType]
@@ -1112,7 +1112,7 @@ bool finishReaction = false;
 
                 case radiationActivatedReactionType:
                 {
-                    FatalErrorIn("chemkinReader::lex()")
+                    FatalErrorInFunction
                         << "Radiation activated reaction on line "
                         << lineNo_ << "not yet supported"
                         << exit(FatalError);
@@ -1123,7 +1123,7 @@ bool finishReaction = false;
 
                 case energyLossReactionType:
                 {
-                    FatalErrorIn("chemkinReader::lex()")
+                    FatalErrorInFunction
                         << "Energy loss in reaction on line "
                         << lineNo_ << "not yet supported"
                         << exit(FatalError);
@@ -1162,7 +1162,7 @@ bool finishReaction = false;
 
                 default:
                 {
-                    FatalErrorIn("chemkinReader::lex()")
+                    FatalErrorInFunction
                         << "unknown reaction keyword " << keyword
                         << " on line " << lineNo_
                         << exit(FatalError);
@@ -1182,7 +1182,7 @@ bool finishReaction = false;
             }
             else
             {
-                FatalErrorIn("chemkinReader::lex()")
+                FatalErrorInFunction
                     << "unknown third-body specie " << keyword
                     << " on line " << lineNo_ << nl
                     << "Valid species are : " << nl
@@ -1234,7 +1234,7 @@ bool finishReaction = false;
         }
         else
         {
-            FatalErrorIn("chemkinReader::lex()")
+            FatalErrorInFunction
                 << "unknown specie " << currentSpecieName
                 << " on line " << lineNo_ << nl
                 << "Valid species are : " << nl
@@ -1289,7 +1289,7 @@ bool finishReaction = false;
         {
             if (!lhsThirdBodyCounter || !rhsThirdBodyCounter)
             {
-                FatalErrorIn("chemkinReader::lex()")
+                FatalErrorInFunction
                     << "Third body not present on both sides of reaction"
                        " on line " << lineNo_
                 << exit(FatalError);
@@ -1297,7 +1297,7 @@ bool finishReaction = false;
 
             if (lhsThirdBodyCounter != 1)
             {
-                FatalErrorIn("chemkinReader::lex()")
+                FatalErrorInFunction
                     << "More than 1 third body present on l.h.s. side"
                        " of reaction on line " << lineNo_
                     << exit(FatalError);
@@ -1305,7 +1305,7 @@ bool finishReaction = false;
 
             if (rhsThirdBodyCounter != 1)
             {
-                FatalErrorIn("chemkinReader::lex()")
+                FatalErrorInFunction
                     << "More than 1 third body present on r.h.s. side"
                        " of reaction on line " << lineNo_
                     << exit(FatalError);
@@ -1338,7 +1338,7 @@ bool finishReaction = false;
 
         if (rrType == thirdBodyArrhenius)
         {
-            FatalErrorIn("chemkinReader::lex()")
+            FatalErrorInFunction
                 << "The pressure-dependent third-body '"
                 << pDependentSpecieName
                 << "' is given in non-pressure-dependent third-body reaction"
@@ -1354,7 +1354,7 @@ bool finishReaction = false;
         {
             if (pDependentSpecieName != rhsPDependentSpecieName)
             {
-                FatalErrorIn("chemkinReader::lex()")
+                FatalErrorInFunction
                     << "The third-body reactant '"
                     << pDependentSpecieName
                     << "' is not the same as the third-body product '"
@@ -1380,7 +1380,7 @@ bool finishReaction = false;
             }
             else
             {
-                FatalErrorIn("chemkinReader::lex()")
+                FatalErrorInFunction
                     << "unknown third-body specie " << pDependentSpecieName
                     << " on line " << lineNo_ << nl
                     << "Valid species are : " << nl
@@ -1404,7 +1404,7 @@ bool finishReaction = false;
 
 <readTdepSpecie>{specieName} {
         word specieName(foamName(foamSpecieString(YYText())));
-        FatalErrorIn("chemkinReader::lex()")
+        FatalErrorInFunction
             << "Temperature-dependent reaction on line "
             << lineNo_ << "not yet supported"
             << exit(FatalError);
@@ -1426,7 +1426,7 @@ bool finishReaction = false;
         }
         else
         {
-            FatalErrorIn("chemkinReader::lex()")
+            FatalErrorInFunction
                 << "unknown specie " << currentSpecieName
                 << " given in reaction-order specification"
                 << " on line " << lineNo_ << nl
@@ -1463,7 +1463,7 @@ bool finishReaction = false;
                 side = "r.h.s.";
             }
 
-            FatalErrorIn("chemkinReader::lex()")
+            FatalErrorInFunction
                 << "Specie " << currentSpecieName
                 << " on line " << lineNo_
                 << " not present in " << side << " of reaction " << nl << lrhs
@@ -1514,7 +1514,7 @@ bool finishReaction = false;
 
 <CHEMKINError>.* {
         yy_pop_state();
-        FatalErrorIn("chemkinReader::lex()")
+        FatalErrorInFunction
             << "while " << stateNames[YY_START] << " on line " << lineNo_ << nl
             << "    expected " << stateExpects[YY_START]
             << " but found '" << startError << YYText() << "'"
diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C
index 23342419402..06e6b6ea92d 100644
--- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C
+++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C
@@ -132,7 +132,7 @@ Foam::scalar Foam::chemkinReader::molecularWeight
         }
         else
         {
-            FatalErrorIn("chemkinReader::lex()")
+            FatalErrorInFunction
                 << "Unknown element " << elementName
                 << " on line " << lineNo_-1 << nl
                 << "    specieComposition: " << specieComposition
@@ -153,7 +153,7 @@ void Foam::chemkinReader::checkCoeffs
 {
     if (reactionCoeffs.size() != nCoeffs)
     {
-        FatalErrorIn("chemkinReader::checkCoeffs")
+        FatalErrorInFunction
             << "Wrong number of coefficients for the " << reactionRateName
             << " rate expression on line "
             << lineNo_-1 << ", should be "
@@ -219,7 +219,7 @@ void Foam::chemkinReader::addReactionType
 
             if (rType < 3)
             {
-                FatalErrorIn("chemkinReader::addReactionType")
+                FatalErrorInFunction
                     << "Reaction type " << reactionTypeNames[rType]
                     << " on line " << lineNo_-1
                     << " not handled by this function"
@@ -227,7 +227,7 @@ void Foam::chemkinReader::addReactionType
             }
             else
             {
-                FatalErrorIn("chemkinReader::addReactionType")
+                FatalErrorInFunction
                     << "Unknown reaction type " << rType
                     << " on line " << lineNo_-1
                     << exit(FatalError);
@@ -292,7 +292,7 @@ void Foam::chemkinReader::addPressureDependentReaction
 
             if (TroeCoeffs.size() != 4 && TroeCoeffs.size() != 3)
             {
-                FatalErrorIn("chemkinReader::addPressureDependentReaction")
+                FatalErrorInFunction
                     << "Wrong number of coefficients for Troe rate expression"
                        " on line " << lineNo_-1 << ", should be 3 or 4 but "
                     << TroeCoeffs.size() << " supplied." << nl
@@ -347,7 +347,7 @@ void Foam::chemkinReader::addPressureDependentReaction
 
             if (SRICoeffs.size() != 5 && SRICoeffs.size() != 3)
             {
-                FatalErrorIn("chemkinReader::addPressureDependentReaction")
+                FatalErrorInFunction
                     << "Wrong number of coefficients for SRI rate expression"
                        " on line " << lineNo_-1 << ", should be 3 or 5 but "
                     << SRICoeffs.size() << " supplied." << nl
@@ -397,7 +397,7 @@ void Foam::chemkinReader::addPressureDependentReaction
         }
         default:
         {
-            FatalErrorIn("chemkinReader::addPressureDependentReaction")
+            FatalErrorInFunction
                 << "Fall-off function type "
                 << fallOffFunctionNames[fofType]
                 << " on line " << lineNo_-1
@@ -734,7 +734,7 @@ void Foam::chemkinReader::addReaction
         }
         case unknownReactionRateType:
         {
-            FatalErrorIn("chemkinReader::addReaction")
+            FatalErrorInFunction
                 << "Internal error on line " << lineNo_-1
                 << ": reaction rate type has not been set"
                 << exit(FatalError);
@@ -742,7 +742,7 @@ void Foam::chemkinReader::addReaction
         }
         default:
         {
-            FatalErrorIn("chemkinReader::addReaction")
+            FatalErrorInFunction
                 << "Reaction rate type " << reactionRateTypeNames[rrType]
                 << " on line " << lineNo_-1
                 << " not implemented"
@@ -755,7 +755,7 @@ void Foam::chemkinReader::addReaction
     {
         if (mag(nAtoms[i]) > imbalanceTol_)
         {
-            FatalErrorIn("chemkinReader::addReaction")
+            FatalErrorInFunction
                 << "Elemental imbalance of " << mag(nAtoms[i])
                 << " in " << elementNames_[i]
                 << " in reaction" << nl
@@ -783,11 +783,8 @@ void Foam::chemkinReader::read
 
         if (!thermoStream)
         {
-            FatalErrorIn
-            (
-                "chemkin::chemkin(const fileName& CHEMKINFileName, "
-                "const fileName& thermoFileName)"
-            )   << "file " << thermoFileName << " not found"
+            FatalErrorInFunction
+                << "file " << thermoFileName << " not found"
                 << exit(FatalError);
         }
 
@@ -806,11 +803,8 @@ void Foam::chemkinReader::read
 
     if (!CHEMKINStream)
     {
-        FatalErrorIn
-        (
-            "chemkin::chemkin(const fileName& CHEMKINFileName, "
-            "const fileName& thermoFileName)"
-        )   << "file " << CHEMKINFileName << " not found"
+        FatalErrorInFunction
+            << "file " << CHEMKINFileName << " not found"
             << exit(FatalError);
     }
 
diff --git a/src/thermophysicalModels/reactionThermo/mixtures/egrMixture/egrMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/egrMixture/egrMixture.C
index 1b19ccdd32f..7c52bea5d04 100644
--- a/src/thermophysicalModels/reactionThermo/mixtures/egrMixture/egrMixture.C
+++ b/src/thermophysicalModels/reactionThermo/mixtures/egrMixture/egrMixture.C
@@ -129,13 +129,8 @@ const ThermoType& Foam::egrMixture<ThermoType>::getLocalThermo
     }
     else
     {
-        FatalErrorIn
-        (
-            "const ThermoType& Foam::egrMixture<ThermoType>::getLocalThermo"
-            "("
-                "const label "
-            ") const"
-        )   << "Unknown specie index " << speciei << ". Valid indices are 0..2"
+        FatalErrorInFunction
+            << "Unknown specie index " << speciei << ". Valid indices are 0..2"
             << abort(FatalError);
 
         return fuel_;
diff --git a/src/thermophysicalModels/reactionThermo/mixtures/homogeneousMixture/homogeneousMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/homogeneousMixture/homogeneousMixture.C
index 7a659907828..7bf2f11abda 100644
--- a/src/thermophysicalModels/reactionThermo/mixtures/homogeneousMixture/homogeneousMixture.C
+++ b/src/thermophysicalModels/reactionThermo/mixtures/homogeneousMixture/homogeneousMixture.C
@@ -107,14 +107,8 @@ const ThermoType& Foam::homogeneousMixture<ThermoType>::getLocalThermo
     }
     else
     {
-        FatalErrorIn
-        (
-            "const ThermoType& Foam::homogeneousMixture<ThermoType>::"
-            "getLocalThermo"
-            "("
-                "const label "
-            ") const"
-        )   << "Unknown specie index " << speciei << ". Valid indices are 0..1"
+        FatalErrorInFunction
+            << "Unknown specie index " << speciei << ". Valid indices are 0..1"
             << abort(FatalError);
 
         return reactants_;
diff --git a/src/thermophysicalModels/reactionThermo/mixtures/inhomogeneousMixture/inhomogeneousMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/inhomogeneousMixture/inhomogeneousMixture.C
index 3c51b1f225c..15220cab18d 100644
--- a/src/thermophysicalModels/reactionThermo/mixtures/inhomogeneousMixture/inhomogeneousMixture.C
+++ b/src/thermophysicalModels/reactionThermo/mixtures/inhomogeneousMixture/inhomogeneousMixture.C
@@ -126,14 +126,8 @@ const ThermoType& Foam::inhomogeneousMixture<ThermoType>::getLocalThermo
     }
     else
     {
-        FatalErrorIn
-        (
-            "const ThermoType& Foam::inhomogeneousMixture<ThermoType>::"
-            "getLocalThermo"
-            "("
-                "const label "
-            ") const"
-        )   << "Unknown specie index " << speciei << ". Valid indices are 0..2"
+        FatalErrorInFunction
+            << "Unknown specie index " << speciei << ". Valid indices are 0..2"
             << abort(FatalError);
 
         return fuel_;
diff --git a/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.C
index 02a651ef209..ba651a2b515 100644
--- a/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.C
+++ b/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.C
@@ -59,11 +59,7 @@ void Foam::multiComponentMixture<ThermoType>::correctMassFractions()
 
     if (mag(max(Yt).value()) < ROOTVSMALL)
     {
-        FatalErrorIn
-        (
-            "void Foam::multiComponentMixture<ThermoType>::"
-            "correctMassFractions()"
-        )
+        FatalErrorInFunction
             << "Sum of mass fractions is zero for species " << this->species()
             << exit(FatalError);
     }
diff --git a/src/thermophysicalModels/reactionThermo/mixtures/singleStepReactingMixture/singleStepReactingMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/singleStepReactingMixture/singleStepReactingMixture.C
index f4449d9afd0..f090b17b5ef 100644
--- a/src/thermophysicalModels/reactionThermo/mixtures/singleStepReactingMixture/singleStepReactingMixture.C
+++ b/src/thermophysicalModels/reactionThermo/mixtures/singleStepReactingMixture/singleStepReactingMixture.C
@@ -241,14 +241,8 @@ Foam::singleStepReactingMixture<ThermoType>::singleStepReactingMixture
     }
     else
     {
-        FatalErrorIn
-        (
-            "singleStepReactingMixture::<ThermoType>::singleStepReactingMixture"
-            "("
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )   << "Only one reaction required for single step reaction"
+        FatalErrorInFunction
+            << "Only one reaction required for single step reaction"
             << exit(FatalError);
     }
 }
diff --git a/src/thermophysicalModels/reactionThermo/mixtures/veryInhomogeneousMixture/veryInhomogeneousMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/veryInhomogeneousMixture/veryInhomogeneousMixture.C
index afbb79e43f1..663b79ce682 100644
--- a/src/thermophysicalModels/reactionThermo/mixtures/veryInhomogeneousMixture/veryInhomogeneousMixture.C
+++ b/src/thermophysicalModels/reactionThermo/mixtures/veryInhomogeneousMixture/veryInhomogeneousMixture.C
@@ -128,14 +128,8 @@ const ThermoType& Foam::veryInhomogeneousMixture<ThermoType>::getLocalThermo
     }
     else
     {
-        FatalErrorIn
-        (
-            "const ThermoType& Foam::veryInhomogeneousMixture<ThermoType>::"
-            "getLocalThermo"
-            "("
-                "const label "
-            ") const"
-        )   << "Unknown specie index " << speciei << ". Valid indices are 0..2"
+        FatalErrorInFunction
+            << "Unknown specie index " << speciei << ". Valid indices are 0..2"
             << abort(FatalError);
 
         return fuel_;
diff --git a/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModelNew.C b/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModelNew.C
index 19f585e026d..12a5d39fa37 100644
--- a/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModelNew.C
+++ b/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModelNew.C
@@ -121,7 +121,7 @@ New
 
     if (cstrIter == fvMeshConstructorTablePtr_->end())
     {
-        FatalErrorIn(typeName + "::New(const mesh&)")
+        FatalErrorInFunction
             << "Unknown " << typeName << " type " << nl
             << "chemistryType" << chemistryTypeDict << nl << nl
             << "Valid " << typeName << " types are:"
diff --git a/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C b/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C
index 2b95b7bcd85..2de276bf3cd 100644
--- a/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C
+++ b/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C
@@ -222,7 +222,7 @@ Foam::Reaction<ReactionThermo>::specieCoeffs::specieCoeffs
     }
     else
     {
-        FatalIOErrorIn("Reaction<ReactionThermo>::lrhs(Istream& is)", is)
+        FatalIOErrorInFunction(is)
             << "Expected a word but found " << t.info()
             << exit(FatalIOError);
     }
@@ -306,7 +306,7 @@ void Foam::Reaction<ReactionThermo>::setLRhs
         }
     }
 
-    FatalIOErrorIn("Reaction<ReactionThermo>::setLRhs(Istream& is)", is)
+    FatalIOErrorInFunction(is)
         << "Cannot continue reading reaction data from stream"
         << exit(FatalIOError);
 }
@@ -365,10 +365,8 @@ Foam::Reaction<ReactionThermo>::New
 {
     if (is.eof())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "Reaction<ReactionThermo>::New(const speciesTable&, "
-            " const HashPtrTable<ReactionThermo>&, Istream&)",
             is
         )   << "Reaction type not specified" << nl << nl
             << "Valid Reaction types are :" << nl
@@ -383,10 +381,8 @@ Foam::Reaction<ReactionThermo>::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "Reaction<ReactionThermo>::New(const speciesTable&, "
-            " const HashPtrTable<ReactionThermo>&, Istream&)",
             is
         )   << "Unknown reaction type "
             << reactionTypeName << nl << nl
@@ -418,15 +414,8 @@ Foam::Reaction<ReactionThermo>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "Reaction<ReactionThermo>::New"
-            "("
-                "const speciesTable&, "
-                "const HashPtrTable<ReactionThermo>&, "
-                "const dictionary&"
-            ")"
-        )   << "Unknown reaction type "
+        FatalErrorInFunction
+            << "Unknown reaction type "
             << reactionTypeName << nl << nl
             << "Valid reaction types are :" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyEfficiencies/thirdBodyEfficienciesI.H b/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyEfficiencies/thirdBodyEfficienciesI.H
index a2942277d72..66a9ab3655c 100644
--- a/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyEfficiencies/thirdBodyEfficienciesI.H
+++ b/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyEfficiencies/thirdBodyEfficienciesI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,11 +38,8 @@ inline Foam::thirdBodyEfficiencies::thirdBodyEfficiencies
 {
     if (size() != species_.size())
     {
-        FatalErrorIn
-        (
-            "thirdBodyEfficiencies::thirdBodyEfficiencies"
-            "(const speciesTable& species, const scalarList& efficiencies)"
-        )   << "number of efficiencies = " << size()
+        FatalErrorInFunction
+            << "number of efficiencies = " << size()
             << " is not equal to the number of species " << species_.size()
             << exit(FatalError);
     }
@@ -76,10 +73,8 @@ inline Foam::thirdBodyEfficiencies::thirdBodyEfficiencies
         }
         else
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "thirdBodyEfficiencies::thirdBodyEfficiencies"
-                "(const speciesTable& species, Istream& is)",
                 is
             )   << "expected <word>, found " << t.info()
                 << exit(FatalIOError);
@@ -88,10 +83,8 @@ inline Foam::thirdBodyEfficiencies::thirdBodyEfficiencies
 
     if (t.pToken() != token::END_LIST)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "thirdBodyEfficiencies::thirdBodyEfficiencies"
-            "(const speciesTable& species, Istream& is)",
             is
         )   << "expected ')', found " << t.info()
             << exit(FatalIOError);
@@ -99,10 +92,8 @@ inline Foam::thirdBodyEfficiencies::thirdBodyEfficiencies
 
     if (size() != species_.size())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "thirdBodyEfficiencies::thirdBodyEfficiencies"
-            "(const speciesTable& species, Istream& is)",
             is
         )   << "number of efficiencies = " << size()
             << " is not equal to the number of species " << species_.size()
@@ -125,11 +116,8 @@ inline Foam::thirdBodyEfficiencies::thirdBodyEfficiencies
         List<Tuple2<word, scalar> > coeffs(dict.lookup("coeffs"));
         if (coeffs.size() != species_.size())
         {
-            FatalErrorIn
-            (
-                "thirdBodyEfficiencies::thirdBodyEfficiencies"
-                "(const speciesTable&, const dictionary&)"
-            )   << "number of efficiencies = " << coeffs.size()
+            FatalErrorInFunction
+                << "number of efficiencies = " << coeffs.size()
                 << " is not equat to the number of species " << species_.size()
                 << exit(FatalIOError);
         }
diff --git a/src/thermophysicalModels/specie/thermo/hPower/hPowerThermoI.H b/src/thermophysicalModels/specie/thermo/hPower/hPowerThermoI.H
index 371394fd145..e46dbf73987 100644
--- a/src/thermophysicalModels/specie/thermo/hPower/hPowerThermoI.H
+++ b/src/thermophysicalModels/specie/thermo/hPower/hPowerThermoI.H
@@ -36,10 +36,8 @@ inline void Foam::hPowerThermo<EquationOfState>::checkT
 {
     if (T < 0)
     {
-        FatalErrorIn
-        (
-            "hPowerThermo<EquationOfState>::checkT(const scalar T) const"
-        )   << "attempt to evaluate hPowerThermo<EquationOfState>"
+        FatalErrorInFunction
+            << "attempt to evaluate hPowerThermo<EquationOfState>"
                " for negative temperature " << T
             << abort(FatalError);
     }
diff --git a/src/thermophysicalModels/specie/thermo/janaf/janafThermo.C b/src/thermophysicalModels/specie/thermo/janaf/janafThermo.C
index bd002e58fc2..63c379825d9 100644
--- a/src/thermophysicalModels/specie/thermo/janaf/janafThermo.C
+++ b/src/thermophysicalModels/specie/thermo/janaf/janafThermo.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -33,21 +33,21 @@ void Foam::janafThermo<EquationOfState>::checkInputData() const
 {
     if (Tlow_ >= Thigh_)
     {
-        FatalErrorIn("janafThermo<EquationOfState>::check()")
+        FatalErrorInFunction
             << "Tlow(" << Tlow_ << ") >= Thigh(" << Thigh_ << ')'
             << exit(FatalError);
     }
 
     if (Tcommon_ <= Tlow_)
     {
-        FatalErrorIn("janafThermo<EquationOfState>::check()")
+        FatalErrorInFunction
             << "Tcommon(" << Tcommon_ << ") <= Tlow(" << Tlow_ << ')'
             << exit(FatalError);
     }
 
     if (Tcommon_ > Thigh_)
     {
-        FatalErrorIn("janafThermo<EquationOfState>::check()")
+        FatalErrorInFunction
             << "Tcommon(" << Tcommon_ << ") > Thigh(" << Thigh_ << ')'
             << exit(FatalError);
     }
diff --git a/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H b/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H
index eeb915ab03d..18f9d7cc735 100644
--- a/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H
+++ b/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H
@@ -102,10 +102,8 @@ inline Foam::scalar Foam::janafThermo<EquationOfState>::limit
 {
     if (T < Tlow_ || T > Thigh_)
     {
-        WarningIn
-        (
-            "janafThermo<EquationOfState>::limit(const scalar T) const"
-        )   << "attempt to use janafThermo<EquationOfState>"
+        WarningInFunction
+            << "attempt to use janafThermo<EquationOfState>"
                " out of temperature range "
             << Tlow_ << " -> " << Thigh_ << ";  T = " << T
             << endl;
@@ -247,11 +245,8 @@ inline void Foam::janafThermo<EquationOfState>::operator+=
 
     if (janafThermo<EquationOfState>::debug && notEqual(Tcommon_, jt.Tcommon_))
     {
-        FatalErrorIn
-        (
-            "janafThermo<EquationOfState>::operator+="
-            "(const janafThermo<EquationOfState>& jt) const"
-        )   << "Tcommon " << Tcommon_ << " for "
+        FatalErrorInFunction
+            << "Tcommon " << Tcommon_ << " for "
             << (this->name().size() ? this->name() : "others")
             << " != " << jt.Tcommon_ << " for "
             << (jt.name().size() ? jt.name() : "others")
@@ -294,11 +289,8 @@ inline void Foam::janafThermo<EquationOfState>::operator-=
 
     if (janafThermo<EquationOfState>::debug && notEqual(Tcommon_, jt.Tcommon_))
     {
-        FatalErrorIn
-        (
-            "janafThermo<EquationOfState>::operator-="
-            "(const janafThermo<EquationOfState>& jt) const"
-        )   << "Tcommon " << Tcommon_ << " for "
+        FatalErrorInFunction
+            << "Tcommon " << Tcommon_ << " for "
             << (this->name().size() ? this->name() : "others")
             << " != " << jt.Tcommon_ << " for "
             << (jt.name().size() ? jt.name() : "others")
@@ -363,12 +355,8 @@ inline Foam::janafThermo<EquationOfState> Foam::operator+
      && notEqual(jt1.Tcommon_, jt2.Tcommon_)
     )
     {
-        FatalErrorIn
-        (
-            "operator+"
-            "(const janafThermo<EquationOfState>& jt1,"
-            " const janafThermo<EquationOfState>& jt2)"
-        )   << "Tcommon " << jt1.Tcommon_ << " for "
+        FatalErrorInFunction
+            << "Tcommon " << jt1.Tcommon_ << " for "
             << (jt1.name().size() ? jt1.name() : "others")
             << " != " << jt2.Tcommon_ << " for "
             << (jt2.name().size() ? jt2.name() : "others")
@@ -425,12 +413,8 @@ inline Foam::janafThermo<EquationOfState> Foam::operator-
      && notEqual(jt1.Tcommon_, jt2.Tcommon_)
     )
     {
-        FatalErrorIn
-        (
-            "operator-"
-            "(const janafThermo<EquationOfState>& jt1,"
-            " const janafThermo<EquationOfState>& jt2)"
-        )   << "Tcommon " << jt1.Tcommon_ << " for "
+        FatalErrorInFunction
+            << "Tcommon " << jt1.Tcommon_ << " for "
             << (jt1.name().size() ? jt1.name() : "others")
             << " != " << jt2.Tcommon_ << " for "
             << (jt2.name().size() ? jt2.name() : "others")
diff --git a/src/thermophysicalModels/specie/thermo/thermo/thermoI.H b/src/thermophysicalModels/specie/thermo/thermo/thermoI.H
index d897968d129..2617da968c2 100644
--- a/src/thermophysicalModels/specie/thermo/thermo/thermoI.H
+++ b/src/thermophysicalModels/specie/thermo/thermo/thermoI.H
@@ -63,17 +63,8 @@ inline Foam::scalar Foam::species::thermo<Thermo, Type>::T
 
         if (iter++ > maxIter_)
         {
-            FatalErrorIn
-            (
-                "thermo<Thermo, Type>::T(scalar f, scalar T0, "
-                "scalar (thermo<Thermo, Type>::*F)"
-                "(const scalar) const, "
-                "scalar (thermo<Thermo, Type>::*dFdT)"
-                "(const scalar) const, "
-                "scalar (thermo<Thermo, Type>::*limit)"
-                "(const scalar) const"
-                ") const"
-            )   << "Maximum number of iterations exceeded"
+            FatalErrorInFunction
+                << "Maximum number of iterations exceeded"
                 << abort(FatalError);
         }
 
diff --git a/src/thermophysicalModels/thermophysicalFunctions/thermophysicalFunction/thermophysicalFunction.C b/src/thermophysicalModels/thermophysicalFunctions/thermophysicalFunction/thermophysicalFunction.C
index 12253ca03ea..e7698de7f89 100644
--- a/src/thermophysicalModels/thermophysicalFunctions/thermophysicalFunction/thermophysicalFunction.C
+++ b/src/thermophysicalModels/thermophysicalFunctions/thermophysicalFunction/thermophysicalFunction.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,7 +59,7 @@ Foam::autoPtr<Foam::thermophysicalFunction> Foam::thermophysicalFunction::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalErrorIn("thermophysicalFunction::New(Istream&)")
+        FatalErrorInFunction
             << "Unknown thermophysicalFunction type "
             << thermophysicalFunctionType
             << nl << nl
@@ -91,7 +91,7 @@ Foam::autoPtr<Foam::thermophysicalFunction> Foam::thermophysicalFunction::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalErrorIn("thermophysicalFunction::New(const dictionary&)")
+        FatalErrorInFunction
             << "Unknown thermophysicalFunction type "
             << thermophysicalFunctionType
             << nl << nl
diff --git a/src/topoChangerFvMesh/linearValveFvMesh/linearValveFvMesh.C b/src/topoChangerFvMesh/linearValveFvMesh/linearValveFvMesh.C
index 19cac53913e..d3befc22e79 100644
--- a/src/topoChangerFvMesh/linearValveFvMesh/linearValveFvMesh.C
+++ b/src/topoChangerFvMesh/linearValveFvMesh/linearValveFvMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -178,7 +178,7 @@ void Foam::linearValveFvMesh::makeSlidersDead()
         }
         else
         {
-            FatalErrorIn("void Foam::linearValveFvMesh::makeSlidersDead()")
+            FatalErrorInFunction
                 << "Don't know what to do with mesh modifier "
                 << modI << " of type " << topoChanges[modI].type()
                 << abort(FatalError);
@@ -200,7 +200,7 @@ void Foam::linearValveFvMesh::makeSlidersLive()
         }
         else
         {
-            FatalErrorIn("void Foam::linearValveFvMesh::makeLayersLive()")
+            FatalErrorInFunction
                 << "Don't know what to do with mesh modifier "
                 << modI << " of type " << topoChanges[modI].type()
                 << abort(FatalError);
@@ -236,7 +236,7 @@ bool Foam::linearValveFvMesh::attached() const
              != refCast<const slidingInterface>(topoChanges[modI]).attached()
             )
             {
-                FatalErrorIn("bool linearValveFvMesh::attached() const")
+                FatalErrorInFunction
                     << "Slider " << modI
                     << " named " << topoChanges[modI].name()
                     << " out of sync: Should be" << result
diff --git a/src/topoChangerFvMesh/linearValveLayersFvMesh/linearValveLayersFvMesh.C b/src/topoChangerFvMesh/linearValveLayersFvMesh/linearValveLayersFvMesh.C
index 90243b27d72..094e09006fc 100644
--- a/src/topoChangerFvMesh/linearValveLayersFvMesh/linearValveLayersFvMesh.C
+++ b/src/topoChangerFvMesh/linearValveLayersFvMesh/linearValveLayersFvMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -229,7 +229,7 @@ void Foam::linearValveLayersFvMesh::makeLayersLive()
         }
         else
         {
-            FatalErrorIn("void linearValveLayersFvMesh::makeLayersLive()")
+            FatalErrorInFunction
                 << "Don't know what to do with mesh modifier "
                 << modI << " of type " << topoChanges[modI].type()
                 << abort(FatalError);
@@ -255,7 +255,7 @@ void Foam::linearValveLayersFvMesh::makeSlidersLive()
         }
         else
         {
-            FatalErrorIn("void linearValveLayersFvMesh::makeLayersLive()")
+            FatalErrorInFunction
                 << "Don't know what to do with mesh modifier "
                 << modI << " of type " << topoChanges[modI].type()
                 << abort(FatalError);
@@ -291,7 +291,7 @@ bool Foam::linearValveLayersFvMesh::attached() const
              != refCast<const slidingInterface>(topoChanges[modI]).attached()
             )
             {
-                FatalErrorIn("bool linearValveLayersFvMesh::attached() const")
+                FatalErrorInFunction
                     << "Slider " << modI << " named "
                     << topoChanges[modI].name()
                     << " out of sync: Should be" << result
diff --git a/src/topoChangerFvMesh/mixerFvMesh/mixerFvMesh.C b/src/topoChangerFvMesh/mixerFvMesh/mixerFvMesh.C
index 21660c406da..9d329ba083c 100644
--- a/src/topoChangerFvMesh/mixerFvMesh/mixerFvMesh.C
+++ b/src/topoChangerFvMesh/mixerFvMesh/mixerFvMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -203,7 +203,7 @@ void Foam::mixerFvMesh::calcMovingMasks() const
 
     if (movingPointsMaskPtr_)
     {
-        FatalErrorIn("void mixerFvMesh::calcMovingMasks() const")
+        FatalErrorInFunction
             << "point mask already calculated"
             << abort(FatalError);
     }
diff --git a/src/transportModels/incompressible/viscosityModels/viscosityModel/viscosityModelNew.C b/src/transportModels/incompressible/viscosityModels/viscosityModel/viscosityModelNew.C
index 16f33328189..23377cd6925 100644
--- a/src/transportModels/incompressible/viscosityModels/viscosityModel/viscosityModelNew.C
+++ b/src/transportModels/incompressible/viscosityModels/viscosityModel/viscosityModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,11 +46,8 @@ Foam::autoPtr<Foam::viscosityModel> Foam::viscosityModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "viscosityModel::New(const volVectorField&, "
-            "const surfaceScalarField&)"
-        )   << "Unknown viscosityModel type "
+        FatalErrorInFunction
+            << "Unknown viscosityModel type "
             << modelType << nl << nl
             << "Valid viscosityModels are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/triSurface/faceTriangulation/faceTriangulation.C b/src/triSurface/faceTriangulation/faceTriangulation.C
index ea4482a13c4..ddf905f06ba 100644
--- a/src/triSurface/faceTriangulation/faceTriangulation.C
+++ b/src/triSurface/faceTriangulation/faceTriangulation.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -169,7 +169,7 @@ bool Foam::faceTriangulation::triangleContainsPoint
     }
     else if ((area01Pt < 0) && (area12Pt < 0) && (area20Pt < 0))
     {
-        FatalErrorIn("triangleContainsPoint") << abort(FatalError);
+        FatalErrorInFunction << abort(FatalError);
         return false;
     }
     else
@@ -249,7 +249,7 @@ void Foam::faceTriangulation::findDiagonal
 
     if (minIndex == -1)
     {
-        //WarningIn("faceTriangulation::findDiagonal")
+        //WarningInFunction
         //    << "Could not find intersection starting from " << f[startIndex]
         //    << " for face " << f << endl;
 
@@ -416,11 +416,8 @@ bool Foam::faceTriangulation::split
 
     if (size <= 2)
     {
-        WarningIn
-        (
-            "split(const bool, const pointField&, const face&"
-            ", const vector&, label&)"
-        )   << "Illegal face:" << f
+        WarningInFunction
+            << "Illegal face:" << f
             << " with points " << UIndirectList<point>(points, f)()
             << endl;
 
@@ -495,11 +492,8 @@ bool Foam::faceTriangulation::split
                     }
                 }
 
-                WarningIn
-                (
-                    "split(const bool, const pointField&, const face&"
-                    ", const vector&, label&)"
-                )   << "Cannot find valid diagonal on face " << f
+                WarningInFunction
+                    << "Cannot find valid diagonal on face " << f
                     << " with points " << UIndirectList<point>(points, f)()
                     << nl
                     << "Returning naive triangulation starting from "
@@ -525,11 +519,8 @@ bool Foam::faceTriangulation::split
             }
             else
             {
-                WarningIn
-                (
-                    "split(const bool, const pointField&, const face&"
-                    ", const vector&, label&)"
-                )   << "Cannot find valid diagonal on face " << f
+                WarningInFunction
+                    << "Cannot find valid diagonal on face " << f
                     << " with points " << UIndirectList<point>(points, f)()
                     << nl
                     << "Returning empty triFaceList" << endl;
@@ -560,11 +551,8 @@ bool Foam::faceTriangulation::split
 
         if (nPoints1 == size || nPoints2 == size)
         {
-            FatalErrorIn
-            (
-                "split(const bool, const pointField&, const face&"
-                ", const vector&, label&)"
-            )   << "Illegal split of face:" << f
+            FatalErrorInFunction
+                << "Illegal split of face:" << f
                 << " with points " << UIndirectList<point>(points, f)()
                 << " at indices " << index1 << " and " << index2
                 << abort(FatalError);
diff --git a/src/triSurface/meshTriangulation/meshTriangulation.C b/src/triSurface/meshTriangulation/meshTriangulation.C
index 4231c3d16fb..f8efd181bdf 100644
--- a/src/triSurface/meshTriangulation/meshTriangulation.C
+++ b/src/triSurface/meshTriangulation/meshTriangulation.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -365,7 +365,7 @@ Foam::meshTriangulation::meshTriangulation
 
                 if (faceTris.empty())
                 {
-                    WarningIn("meshTriangulation::meshTriangulation")
+                    WarningInFunction
                         << "Could not find triangulation for face " << faceI
                         << " vertices " << faces[faceI] << " coords "
                         << IndirectList<point>(points, faces[faceI])() << endl;
@@ -428,7 +428,7 @@ Foam::meshTriangulation::meshTriangulation
 
                 if (faceTris.empty())
                 {
-                    WarningIn("meshTriangulation::meshTriangulation")
+                    WarningInFunction
                         << "Could not find triangulation for face " << faceI
                         << " vertices " << faces[faceI] << " coords "
                         << IndirectList<point>(points, faces[faceI])() << endl;
diff --git a/src/triSurface/triSurface/interfaces/AC3D/readAC.C b/src/triSurface/triSurface/interfaces/AC3D/readAC.C
index 2e122c936c7..2ff59bfb071 100644
--- a/src/triSurface/triSurface/interfaces/AC3D/readAC.C
+++ b/src/triSurface/triSurface/interfaces/AC3D/readAC.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -111,7 +111,7 @@ static void readUpto
 {
     if (!readUpto(cmd, ACfile, args))
     {
-        FatalErrorIn("triSurface::readAC(const fileName&)")
+        FatalErrorInFunction
             << "Cannot find command " << cmd
             << errorMsg << exit(FatalError);
     }
@@ -126,7 +126,7 @@ bool triSurface::readAC(const fileName& ACfileName)
 
     if (!ACfile.good())
     {
-        FatalErrorIn("triSurface::readAC(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << ACfileName
             << exit(FatalError);
     }
@@ -138,7 +138,7 @@ bool triSurface::readAC(const fileName& ACfileName)
 
     if (version != "b")
     {
-        WarningIn("bool triSurface::readAC(const fileName& ACfileName)")
+        WarningInFunction
             << "When reading AC3D file " << ACfileName
             << " read header " << line << " with version " << version
             << endl << "Only tested reading with version 'b'."
@@ -151,7 +151,7 @@ bool triSurface::readAC(const fileName& ACfileName)
 
     if (!readUpto("OBJECT", ACfile, args) || (args != "world"))
     {
-        FatalErrorIn("bool triSurface::readAC(const fileName& ACfileName)")
+        FatalErrorInFunction
             << "Cannot find \"OBJECT world\" in file " << ACfileName
             << exit(FatalError);
     }
@@ -195,7 +195,7 @@ bool triSurface::readAC(const fileName& ACfileName)
             // patch should always end with 'kids' command ?not sure.
             if (!readCmd(ACfile, cmd, args))
             {
-                FatalErrorIn("triSurface::readAC(const fileName&)")
+                FatalErrorInFunction
                     << "Did not read up to \"kids 0\" while reading patch "
                     << patchI << " from file " << ACfileName
                     << exit(FatalError);
@@ -217,7 +217,7 @@ bool triSurface::readAC(const fileName& ACfileName)
                     >> rot.yx() >> rot.yy() >> rot.yz()
                     >> rot.zx() >> rot.zy() >> rot.zz();
 
-                WarningIn("triSurface::readAC(const fileName&)")
+                WarningInFunction
                     << "rot (rotation tensor) command not implemented"
                     << "Line:" << cmd << ' ' << args << endl
                     << "while reading patch " << patchI << endl;
@@ -265,7 +265,7 @@ bool triSurface::readAC(const fileName& ACfileName)
 
                     if (size != 3)
                     {
-                        FatalErrorIn("triSurface::readAC(const fileName&)")
+                        FatalErrorInFunction
                             << "Can only read surfaces with 3 vertices."
                             << endl
                             << "Detected " << size << " when reading triangle "
@@ -309,7 +309,7 @@ bool triSurface::readAC(const fileName& ACfileName)
 
                 if (nKids != 0)
                 {
-                    FatalErrorIn("triSurface::readAC(const fileName&)")
+                    FatalErrorInFunction
                         << "Can only read objects without kids."
                         << " Encountered " << nKids << " kids when"
                         << " reading patch " << patchI
diff --git a/src/triSurface/triSurface/interfaces/DX/writeDX.C b/src/triSurface/triSurface/interfaces/DX/writeDX.C
index 402fa262ca1..d5087a629d9 100644
--- a/src/triSurface/triSurface/interfaces/DX/writeDX.C
+++ b/src/triSurface/triSurface/interfaces/DX/writeDX.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -191,10 +191,8 @@ void triSurface::writeDX(const scalarField& field, Ostream& os) const
     }
     else
     {
-        FatalErrorIn
-        (
-            "writeDX(const scalarField&, Ostream&)"
-        )   << "Illegal field size " << field.size() << " is not equal "
+        FatalErrorInFunction
+            << "Illegal field size " << field.size() << " is not equal "
             << " to number of faces " << size() << " or to number "
             << " of points " << nPoints() << exit(FatalError);
     }
@@ -240,10 +238,8 @@ void triSurface::writeDX(const vectorField& field, Ostream& os) const
     }
     else
     {
-        FatalErrorIn
-        (
-            "writeDX(const vectorField&, Ostream&)"
-        )   << "Illegal field size " << field.size() << " is not equal "
+        FatalErrorInFunction
+            << "Illegal field size " << field.size() << " is not equal "
             << " to number of faces " << size() << " or to number "
             << " of points " << nPoints() << exit(FatalError);
     }
diff --git a/src/triSurface/triSurface/interfaces/GTS/readGTS.C b/src/triSurface/triSurface/interfaces/GTS/readGTS.C
index cba235c4bef..d7394e2e0fd 100644
--- a/src/triSurface/triSurface/interfaces/GTS/readGTS.C
+++ b/src/triSurface/triSurface/interfaces/GTS/readGTS.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,7 +36,7 @@ bool Foam::triSurface::readGTS(const fileName& GTSfileName)
 
     if (!GTSfile.good())
     {
-        FatalErrorIn("triSurface::readGTS(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << GTSfileName
             << exit(FatalError);
     }
@@ -113,7 +113,7 @@ bool Foam::triSurface::readGTS(const fileName& GTSfileName)
         label common01 = e0.commonVertex(e1);
         if (common01 == -1)
         {
-            FatalErrorIn("triSurface::readGTS(const fileName&)")
+            FatalErrorInFunction
                 << "Edges 0 and 1 of triangle " << trianglei
                 << " do not share a point.\n"
                 << "    edge0:" << e0 << endl
@@ -127,7 +127,7 @@ bool Foam::triSurface::readGTS(const fileName& GTSfileName)
         label common12 = e1.commonVertex(e2);
         if (common12 == -1)
         {
-            FatalErrorIn("triSurface::readGTS(const fileName&)")
+            FatalErrorInFunction
                 << "Edges 1 and 2 of triangle " << trianglei
                 << " do not share a point.\n"
                 << "    edge1:" << e1 << endl
@@ -139,7 +139,7 @@ bool Foam::triSurface::readGTS(const fileName& GTSfileName)
         // Does edge2 sit between edge1 and 0?
         if ((common12 != e1Far) || (e2Far != e0Far))
         {
-            FatalErrorIn("triSurface::readGTS(const fileName&)")
+            FatalErrorInFunction
                 << "Edges of triangle " << trianglei
                 << " reference more than three points.\n"
                 << "    edge0:" << e0 << endl
diff --git a/src/triSurface/triSurface/interfaces/NAS/readNAS.C b/src/triSurface/triSurface/interfaces/NAS/readNAS.C
index 3e39579d052..ad15baf6ba2 100644
--- a/src/triSurface/triSurface/interfaces/NAS/readNAS.C
+++ b/src/triSurface/triSurface/interfaces/NAS/readNAS.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -75,7 +75,7 @@ bool triSurface::readNAS(const fileName& fName)
 
     if (!is.good())
     {
-        FatalErrorIn("triSurface::readNAS(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << fName
             << exit(FatalError);
     }
@@ -287,7 +287,7 @@ bool triSurface::readNAS(const fileName& fName)
             is.getLine(line);
             if (line[0] != '*')
             {
-                FatalErrorIn("triSurface::readNAS(const fileName&)")
+                FatalErrorInFunction
                     << "Expected continuation symbol '*' when reading GRID*"
                     << " (double precision coordinate) output" << nl
                     << "Read:" << line << nl
diff --git a/src/triSurface/triSurface/interfaces/OBJ/readOBJ.C b/src/triSurface/triSurface/interfaces/OBJ/readOBJ.C
index 004661ab3cf..49386351e92 100644
--- a/src/triSurface/triSurface/interfaces/OBJ/readOBJ.C
+++ b/src/triSurface/triSurface/interfaces/OBJ/readOBJ.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ bool Foam::triSurface::readOBJ(const fileName& OBJfileName)
 
     if (!OBJfile.good())
     {
-        FatalErrorIn("triSurface::readOBJ(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << OBJfileName
             << exit(FatalError);
     }
diff --git a/src/triSurface/triSurface/interfaces/OFF/readOFF.C b/src/triSurface/triSurface/interfaces/OFF/readOFF.C
index 8fc4dff00bb..232c1a7aec9 100644
--- a/src/triSurface/triSurface/interfaces/OFF/readOFF.C
+++ b/src/triSurface/triSurface/interfaces/OFF/readOFF.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ bool Foam::triSurface::readOFF(const fileName& OFFfileName)
 
     if (!OFFfile.good())
     {
-        FatalErrorIn("triSurface::readOFF(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << OFFfileName
             << exit(FatalError);
     }
@@ -47,7 +47,7 @@ bool Foam::triSurface::readOFF(const fileName& OFFfileName)
     string hdr = getLineNoComment(OFFfile);
     if (hdr != "OFF")
     {
-        FatalErrorIn("triSurface::readOFF(const fileName&)")
+        FatalErrorInFunction
             << "OFF file " << OFFfileName
             << " does not start with 'OFF'"
             << exit(FatalError);
diff --git a/src/triSurface/triSurface/interfaces/STL/readSTLASCII.L b/src/triSurface/triSurface/interfaces/STL/readSTLASCII.L
index 3c732c1a8d7..6c41d5db82c 100644
--- a/src/triSurface/triSurface/interfaces/STL/readSTLASCII.L
+++ b/src/triSurface/triSurface/interfaces/STL/readSTLASCII.L
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ using namespace Foam;
 //! \cond dummy
 int yyFlexLexer::yylex()
 {
-    FatalErrorIn("yyFlexLexer::yylex()")
+    FatalErrorInFunction
         << "Should not have called this function"
         << abort(FatalError);
     return 0;
@@ -356,10 +356,8 @@ endsolid              {space}("endsolid"|"ENDSOLID")({some_space}{word})*
 
 <stlerror>.* {
         yy_pop_state();
-        FatalErrorIn
-        (
-            "triSurface::readSTLASCII(const fileName& STLfileName)"
-        )   << "while " << stateNames[YY_START] << " on line " << lineNo_ << nl
+        FatalErrorInFunction
+            << "while " << stateNames[YY_START] << " on line " << lineNo_ << nl
             << "    expected " << stateExpects[YY_START]
             << " but found '" << startError_.c_str() << YYText() << "'"
             << exit(FatalError);
@@ -382,10 +380,8 @@ bool triSurface::readSTLASCII(const fileName& STLfileName)
 
     if (!STLstream)
     {
-        FatalErrorIn
-        (
-            "triSurface::readSTLASCII(const fileName&)"
-        )   << "file " << STLfileName << " not found"
+        FatalErrorInFunction
+            << "file " << STLfileName << " not found"
             << exit(FatalError);
     }
 
@@ -411,10 +407,8 @@ bool triSurface::readSTLASCII(const fileName& STLfileName)
 
     if (STLpoints.size() != 3*STLnormals.size())
     {
-        FatalErrorIn
-        (
-            "triSurface::readSTLASCII(const fileName& STLfileName)"
-        )   << "in file " << STLfileName << endl
+        FatalErrorInFunction
+            << "in file " << STLfileName << endl
             << "Problem: read " << STLnormals.size() << " normals"
             << " but " << STLpoints.size() << " points"
             << exit(FatalError);
diff --git a/src/triSurface/triSurface/interfaces/STL/readSTLBINARY.C b/src/triSurface/triSurface/interfaces/STL/readSTLBINARY.C
index c0e06649ba2..5c860006c06 100644
--- a/src/triSurface/triSurface/interfaces/STL/readSTLBINARY.C
+++ b/src/triSurface/triSurface/interfaces/STL/readSTLBINARY.C
@@ -52,7 +52,7 @@ bool Foam::triSurface::readSTLBINARY(const fileName& STLfileName)
 
     if (!STLfile.good())
     {
-        FatalErrorIn("triSurface::readSTLBINARY(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << STLfileName
             << " or file " << STLfileName + ".gz"
             << exit(FatalError);
diff --git a/src/triSurface/triSurface/interfaces/TRI/readTRI.C b/src/triSurface/triSurface/interfaces/TRI/readTRI.C
index 6c4d6e8b873..438847d7a9b 100644
--- a/src/triSurface/triSurface/interfaces/TRI/readTRI.C
+++ b/src/triSurface/triSurface/interfaces/TRI/readTRI.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,7 +45,7 @@ bool Foam::triSurface::readTRI(const fileName& TRIfileName)
 
     if (!TRIfile.good())
     {
-        FatalErrorIn("triSurface::readTRI(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << TRIfileName
             << exit(FatalError);
     }
diff --git a/src/triSurface/triSurface/surfacePatch/surfacePatchIOList.C b/src/triSurface/triSurface/surfacePatch/surfacePatchIOList.C
index 1eb61761937..c404a386406 100644
--- a/src/triSurface/triSurface/surfacePatch/surfacePatchIOList.C
+++ b/src/triSurface/triSurface/surfacePatch/surfacePatchIOList.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,13 +57,8 @@ Foam::surfacePatchIOList::surfacePatchIOList
     {
         if (readOpt() == IOobject::MUST_READ_IF_MODIFIED)
         {
-            WarningIn
-            (
-                "surfacePatchIOList::surfacePatchIOList\n"
-                "(\n"
-                "    const IOobject&\n"
-                ")"
-            )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+            WarningInFunction
+                << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
                 << " does not support automatic rereading."
                 << endl;
         }
@@ -99,7 +94,7 @@ Foam::surfacePatchIOList::surfacePatchIOList
 
             if (startFaceI != faceI)
             {
-                FatalErrorIn(functionName)
+                FatalErrorInFunction
                     << "Patches are not ordered. Start of patch " << patchI
                     << " does not correspond to sum of preceding patches."
                     << endl
diff --git a/src/triSurface/triSurface/triSurface.C b/src/triSurface/triSurface/triSurface.C
index 8f80c216176..5bb5139aac6 100644
--- a/src/triSurface/triSurface/triSurface.C
+++ b/src/triSurface/triSurface/triSurface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -104,11 +104,8 @@ Foam::List<Foam::labelledTri> Foam::triSurface::convertToTri
 
         if (f.size() != 3)
         {
-            FatalErrorIn
-            (
-                "triSurface::convertToTri"
-                "(const faceList&, const label)"
-            )   << "Face at position " << faceI
+            FatalErrorInFunction
+                << "Face at position " << faceI
                 << " does not have three vertices:" << f
                 << abort(FatalError);
         }
@@ -196,7 +193,7 @@ void Foam::triSurface::checkTriangles(const bool verbose)
         {
             if (f[fp] < 0 || f[fp] > maxPointI)
             {
-                FatalErrorIn("triSurface::checkTriangles(bool)")
+                FatalErrorInFunction
                     << "triangle " << f
                     << " uses point indices outside point range 0.."
                     << maxPointI
@@ -226,10 +223,8 @@ void Foam::triSurface::checkTriangles(const bool verbose)
 
             if (verbose)
             {
-                WarningIn
-                (
-                    "triSurface::checkTriangles(bool verbose)"
-                )   << "triangle " << faceI
+                WarningInFunction
+                    << "triangle " << faceI
                     << " does not have three unique vertices:\n";
                 printTriangle(Warning, "    ", f, points());
             }
@@ -267,10 +262,8 @@ void Foam::triSurface::checkTriangles(const bool verbose)
 
                             if (verbose)
                             {
-                                WarningIn
-                                (
-                                    "triSurface::checkTriangles(bool verbose)"
-                                )   << "triangles share the same vertices:\n"
+                                WarningInFunction
+                                    << "triangles share the same vertices:\n"
                                     << "    face 1 :" << faceI << endl;
                                 printTriangle(Warning, "    ", f, points());
 
@@ -304,10 +297,8 @@ void Foam::triSurface::checkTriangles(const bool verbose)
 
         if (verbose)
         {
-            WarningIn
-            (
-                "triSurface::checkTriangles(bool verbose)"
-            )   << "Removing " << size() - newFaceI
+            WarningInFunction
+                << "Removing " << size() - newFaceI
                 << " illegal faces." << endl;
         }
         (*this).setSize(newFaceI);
@@ -329,17 +320,15 @@ void Foam::triSurface::checkEdges(const bool verbose)
 
         if (myFaces.empty())
         {
-            FatalErrorIn("triSurface::checkEdges(bool verbose)")
+            FatalErrorInFunction
                 << "Edge " << edgeI << " with vertices " << edges()[edgeI]
                 << " has no edgeFaces"
                 << exit(FatalError);
         }
         else if (myFaces.size() > 2 && verbose)
         {
-            WarningIn
-            (
-                "triSurface::checkEdges(bool verbose)"
-            )   << "Edge " << edgeI << " with vertices " << edges()[edgeI]
+            WarningInFunction
+                << "Edge " << edgeI << " with vertices " << edges()[edgeI]
                 << " has more than 2 faces connected to it : " << myFaces
                 << endl;
         }
@@ -366,10 +355,8 @@ bool Foam::triSurface::read
 {
     if (check && !exists(name))
     {
-        FatalErrorIn
-        (
-            "triSurface::read(const fileName&, const word&, const bool)"
-        )   << "Cannnot read " << name << exit(FatalError);
+        FatalErrorInFunction
+            << "Cannnot read " << name << exit(FatalError);
     }
 
     if (ext == "gz")
@@ -421,10 +408,8 @@ bool Foam::triSurface::read
     }
     else
     {
-        FatalErrorIn
-        (
-            "triSurface::read(const fileName&, const word&)"
-        )   << "unknown file extension " << ext
+        FatalErrorInFunction
+            << "unknown file extension " << ext
             << ". Supported extensions are '.ftr', '.stl', '.stlb', '.gts'"
             << ", '.obj', '.ac', '.off', '.nas', '.tri' and '.vtk'"
             << exit(FatalError);
@@ -490,10 +475,8 @@ void Foam::triSurface::write
     }
     else
     {
-        FatalErrorIn
-        (
-            "triSurface::write(const fileName&, const word&, const bool)"
-        )   << "unknown file extension " << ext
+        FatalErrorInFunction
+            << "unknown file extension " << ext
             << " for file " << name
             << ". Supported extensions are '.ftr', '.stl', '.stlb', "
             << "'.gts', '.obj', '.vtk'"
@@ -889,11 +872,7 @@ void Foam::triSurface::markZone
                         }
                         else if (faceZone[nbrFaceI] != currentZone)
                         {
-                            FatalErrorIn
-                            (
-                                "triSurface::markZone(const boolList&,"
-                                "const label, const label, labelList&) const"
-                            )
+                            FatalErrorInFunction
                                 << "Zones " << faceZone[nbrFaceI]
                                 << " at face " << nbrFaceI
                                 << " connects to zone " << currentZone
@@ -928,11 +907,7 @@ Foam::label Foam::triSurface::markZones
 
     if (borderEdge.size() != nEdges())
     {
-        FatalErrorIn
-        (
-            "triSurface::markZones"
-            "(const boolList&, labelList&)"
-        )
+        FatalErrorInFunction
             << "borderEdge boolList not same size as number of edges" << endl
             << "borderEdge:" << borderEdge.size() << endl
             << "nEdges    :" << nEdges()
diff --git a/src/triSurface/triSurface/triSurfaceAddressing.C b/src/triSurface/triSurface/triSurfaceAddressing.C
index f1a8b8a2fd9..9aa9dae918a 100644
--- a/src/triSurface/triSurface/triSurfaceAddressing.C
+++ b/src/triSurface/triSurface/triSurfaceAddressing.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,7 +39,7 @@ void Foam::triSurface::calcSortedEdgeFaces() const
 {
     if (sortedEdgeFacesPtr_)
     {
-        FatalErrorIn("triSurface::calcSortedEdgeFaces()")
+        FatalErrorInFunction
             << "sortedEdgeFacesPtr_ already set"
             << abort(FatalError);
     }
@@ -57,7 +57,7 @@ void Foam::triSurface::calcEdgeOwner() const
 {
     if (edgeOwnerPtr_)
     {
-        FatalErrorIn("triSurface::calcEdgeOwner()")
+        FatalErrorInFunction
             << "edgeOwnerPtr_ already set"
             << abort(FatalError);
     }
@@ -101,7 +101,7 @@ void Foam::triSurface::calcEdgeOwner() const
 
             if (edgeOwner[edgeI] == -1)
             {
-                FatalErrorIn("triSurface::calcEdgeOwner()")
+                FatalErrorInFunction
                     << "Edge " << edgeI << " vertices:" << e
                     << " is used by faces " << myFaces
                     << " vertices:"
-- 
GitLab