CoastalME (Coastal Modelling Environment)
Simulates the long-term behaviour of complex coastlines
Loading...
Searching...
No Matches
cliff.cpp
Go to the documentation of this file.
1
12
13/*===============================================================================================================================
14
15This file is part of CoastalME, the Coastal Modelling Environment.
16
17CoastalME is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
18
19This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
20
21You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22
23===============================================================================================================================*/
24#include <assert.h>
25#include <iostream>
26using std::cout;
27using std::cerr;
28using std::endl;
29using std::ios;
30
31#include "cme.h"
32#include "cliff.h"
33
35CRWCliff::CRWCliff(CRWCoast* pCoastIn, int const nCoast, int const nPointOnCoast, double const dCellSide, double const dNotchDepthIn, double const dNotchElevIn, double const dAccumWaveEnergyIn)
36{
38
39 pCoast = pCoastIn;
40
41 m_nCoast = nCoast;
42 m_nPointOnCoast = nPointOnCoast;
44
45 m_dMaxDepth = dCellSide;
46 m_dNotchDepth = dNotchDepthIn;
47 m_dNotchBaseElev = dNotchElevIn;
48 m_dTotAccumWaveEnergy = dAccumWaveEnergyIn;
49// assert(m_dRemaining >=0);
50}
51
54{
55}
56
59{
61}
62
68
71{
72 return m_dNotchBaseElev;
73}
74
76void CRWCliff::SetNotchBaseElev(double const dNewElev)
77{
78 m_dNotchBaseElev = dNewElev;
79}
80
82double CRWCliff::dGetRemaining(void) const
83{
84 return (m_dMaxDepth - m_dNotchDepth);
85}
86
87// //! Sets the horizontal depth of the cliff's erosional notch
88// void CRWCliff::SetNotchDepth(double const dLenIn)
89// {
90// m_dNotchDepth = dLenIn;
91// }
92
94double CRWCliff::dGetNotchDepth(void) const
95{
96 return m_dNotchDepth;
97}
98
100bool CRWCliff::bReadyToCollapse(double const dThresholdNotchDepth) const
101{
102 if (m_dNotchDepth >= dThresholdNotchDepth)
103 return true;
104 else
105 return false;
106}
107
109void CRWCliff::DeepenErosionalNotch(double const dLenIn)
110{
111 m_dNotchDepth += dLenIn;
112
113 // Constrain the notch depth, it cannot be greater than the max notch depth
115
116// assert((m_dMaxDepth - m_dNotchDepth) >=0);
117}
118
121{
122}
int m_nPointOnCoast
The point on the coast on which this coast landform sits.
CRWCoast * pCoast
Pointer to this landform's coast.
int m_nCategory
Landform category code.
int m_nCoast
The coast number on which this coast landform sits.
double m_dTotAccumWaveEnergy
Total accumulated wave energy since beginning of simulation.
bool bHasCollapsed(void) const
Returns the value of the cliff collapse switch.
Definition cliff.cpp:58
bool bReadyToCollapse(double const) const
Returns true if the horizontal depth of the erosional notch exceeds the critical notch overhang.
Definition cliff.cpp:100
double m_dNotchDepth
The horizontal depth (in external CRS units) of the erosional notch, measured inland from the side of...
Definition cliff.h:42
~CRWCliff(void) override
Destructor.
Definition cliff.cpp:53
void Display(void) override
Instantiates the pure virtual function in the abstract parent class, so that CRWCliff is not an abstr...
Definition cliff.cpp:120
void DeepenErosionalNotch(double const)
Increases the XY-plane length (in external CRS units) of the erosional notch, measured inland from th...
Definition cliff.cpp:109
CRWCliff(CRWCoast *, int const, int const, double const, double const, double const, double const)
Constructor with seven parameters and an intialization list.
Definition cliff.cpp:35
double dGetNotchBaseElev(void) const
Returns the elevation of the base of the erosional notch.
Definition cliff.cpp:70
double m_dMaxDepth
The maximum depth (in external CRS units) of an erosional notch, this is equal to the grid's m_dCellS...
Definition cliff.h:39
double m_dNotchBaseElev
Z-plane elevation (in external CRS units) of the base of the erosional notch. The notch is assumed to...
Definition cliff.h:45
void SetNotchBaseElev(double const)
Sets the elevation of the base of the erosional notch.
Definition cliff.cpp:76
bool m_bCliffHasCollapsed
Switch to say whether the cliff has just collapsed, earlier in this timestep.
Definition cliff.h:36
double dGetNotchDepth(void) const
Returns the horizontal depth of the cliff's erosional notch (the 'overhang')
Definition cliff.cpp:94
void SetCliffCollapsed(void)
Flags the cliff as having collapsed.
Definition cliff.cpp:64
double dGetRemaining(void) const
Returns the length (in external CRS units) of the cliff's remaining sediment 'behind' the erosional n...
Definition cliff.cpp:82
Real-world class used to represent coastline objects.
Definition coast.h:39
Contains CRWCliff definitions.
This file contains global definitions for CoastalME.
T tMin(T a, T b)
Definition cme.h:1136
int const LF_CAT_CLIFF
Definition cme.h:429