Abstract class containing physical constants and the constitutive relation describing ice. More...
#include <materials.hh>

Public Member Functions | |
| IceFlowLaw (MPI_Comm c, const char pre[], const NCConfigVariable &config) | |
| virtual | ~IceFlowLaw () |
| virtual PetscErrorCode | setFromOptions () |
| virtual PetscErrorCode | printInfo (PetscInt) const |
| virtual PetscErrorCode | view (PetscViewer) const |
| virtual PetscScalar | flow (PetscScalar stress, PetscScalar temp, PetscScalar pressure, PetscScalar gs) const =0 |
| virtual PetscScalar | effectiveViscosityColumn (PetscScalar H, PetscInt kbelowH, const PetscScalar *zlevels, PetscScalar u_x, PetscScalar u_y, PetscScalar v_x, PetscScalar v_y, const PetscScalar *T1, const PetscScalar *T2) const =0 |
| virtual PetscScalar | exponent () const =0 |
| virtual PetscScalar | hardnessParameter (PetscScalar T) const =0 |
| virtual PetscScalar | averagedHarness (PetscScalar H, PetscInt kbelowH, const PetscScalar zlevels[], const PetscScalar T[]) const =0 |
Public Attributes | |
| PetscScalar | rho |
| density | |
| PetscScalar | beta_CC_grad |
| Clausius-Clapeyron gradient. | |
| PetscScalar | k |
| thermal conductivity | |
| PetscScalar | c_p |
| specific heat capacity | |
| PetscScalar | latentHeat |
| latent heat capacity | |
| PetscScalar | meltingTemp |
| melting temperature | |
| PetscScalar | standard_gravity |
| PetscScalar | ideal_gas_constant |
Protected Attributes | |
| MPI_Comm | comm |
| char | prefix [256] |
Abstract class containing physical constants and the constitutive relation describing ice.
This is the interface which most of PISM uses for rheology.
Definition at line 52 of file materials.hh.
| IceFlowLaw | ( | MPI_Comm | c, | |
| const char | pre[], | |||
| const NCConfigVariable & | config | |||
| ) |
Definition at line 24 of file materials.cc.
References beta_CC_grad, c_p, NCConfigVariable.get(), ideal_gas_constant, k, latentHeat, meltingTemp, prefix, rho, and standard_gravity.
| virtual ~IceFlowLaw | ( | ) | [virtual] |
Definition at line 65 of file materials.hh.
| virtual PetscScalar averagedHarness | ( | PetscScalar | H, | |
| PetscInt | kbelowH, | |||
| const PetscScalar | zlevels[], | |||
| const PetscScalar | T[] | |||
| ) | const [pure virtual] |
Implemented in CustomGlenIce, and ThermoGlenIce.
Referenced by IceModel.compute_hardav().
| virtual PetscScalar effectiveViscosityColumn | ( | PetscScalar | H, | |
| PetscInt | kbelowH, | |||
| const PetscScalar * | zlevels, | |||
| PetscScalar | u_x, | |||
| PetscScalar | u_y, | |||
| PetscScalar | v_x, | |||
| PetscScalar | v_y, | |||
| const PetscScalar * | T1, | |||
| const PetscScalar * | T2 | |||
| ) | const [pure virtual] |
Implemented in CustomGlenIce, and ThermoGlenIce.
Referenced by IceModel.computeEffectiveViscosity().
| virtual PetscScalar exponent | ( | ) | const [pure virtual] |
Implemented in CustomGlenIce, and ThermoGlenIce.
Referenced by IceModel.compute_hardav(), IceModel.computeDrivingStress(), IceModel.correctSigma(), and IceModel.surfaceGradientSIA().
| virtual PetscScalar flow | ( | PetscScalar | stress, | |
| PetscScalar | temp, | |||
| PetscScalar | pressure, | |||
| PetscScalar | gs | |||
| ) | const [pure virtual] |
Implemented in CustomGlenIce, ThermoGlenIce, ThermoGlenArrIce, HybridIce, and HybridIceStripped.
Referenced by IceFlowLawIsPatersonBuddCold(), IceFlowLawUsesGrainSize(), and IceModel.velocitySIAStaggered().
| virtual PetscScalar hardnessParameter | ( | PetscScalar | T | ) | const [pure virtual] |
Implemented in CustomGlenIce, and ThermoGlenIce.
Referenced by IceModel.correctSigma().
| PetscErrorCode printInfo | ( | PetscInt | ) | const [virtual] |
Reimplemented in CustomGlenIce, ThermoGlenIce, and HybridIce.
Definition at line 39 of file materials.cc.
References comm.
Referenced by IceMISMIPModel.init_physics(), IceROSSModel.init_physics(), IceModel.init_physics(), IceExactSSAModel.misc_setup(), and IceMISMIPModel.printBasalAndIceInfo().
| virtual PetscErrorCode setFromOptions | ( | ) | [virtual] |
Reimplemented in CustomGlenIce, ThermoGlenIce, and PolyThermalGPBLDIce.
Definition at line 66 of file materials.hh.
Referenced by IceExactSSAModel.init_physics(), IceMISMIPModel.init_physics(), IceROSSModel.init_physics(), and IceModel.init_physics().
| virtual PetscErrorCode view | ( | PetscViewer | ) | const [virtual] |
Reimplemented in CustomGlenIce, ThermoGlenIce, PolyThermalGPBLDIce, ThermoGlenArrIce, ThermoGlenArrIceWarm, and HybridIce.
Definition at line 68 of file materials.hh.
| PetscScalar beta_CC_grad |
Clausius-Clapeyron gradient.
Definition at line 55 of file materials.hh.
Referenced by ThermoGlenIce.averagedHarness(), IceEISModel.basalVelocitySIA(), IceModel.basalVelocitySIA(), IceModel.correctSigma(), ThermoGlenIce.effectiveViscosityColumn(), HybridIceStripped.flow(), HybridIce.flow(), ThermoGlenIce.flow(), HybridIce.flowParts(), IceFlowLaw(), IceModel.putTempAtDepth(), and IceModel.temperatureStep().
| PetscScalar c_p |
specific heat capacity
Definition at line 55 of file materials.hh.
Referenced by IceCompModel.computeSigmaErrors(), IceModel.enthalpyAndDrainageStep(), IceCompModel.fillSolnTestFG(), IceCompModel.getCompSourcesTestFG(), IceModel.getEnthalpyCTSColumn(), IceFlowLaw(), IceCompModel.init_physics(), IceEISModel.init_physics(), and IceModel.temperatureStep().
MPI_Comm comm [protected] |
Definition at line 80 of file materials.hh.
Referenced by printInfo(), PolyThermalGPBLDIce.setFromOptions(), ThermoGlenIce.setFromOptions(), CustomGlenIce.setFromOptions(), HybridIce.view(), ThermoGlenArrIceWarm.view(), ThermoGlenArrIce.view(), PolyThermalGPBLDIce.view(), ThermoGlenIce.view(), and CustomGlenIce.view().
| PetscScalar ideal_gas_constant |
Definition at line 55 of file materials.hh.
Referenced by HybridIceStripped.flow(), HybridIce.flow(), HybridIce.flowParts(), IceFlowLaw(), ThermoGlenArrIce.softnessParameter(), ThermoGlenIce.softnessParameter(), and ThermoGlenArrIce.tempFromSoftness().
| PetscScalar k |
thermal conductivity
Definition at line 55 of file materials.hh.
Referenced by IceModel.enthalpyAndDrainageStep(), IceModel.getEnthalpyCTSColumn(), IceFlowLaw(), IceCompModel.init_physics(), IceEISModel.init_physics(), IceModel.putTempAtDepth(), and IceModel.temperatureStep().
| PetscScalar latentHeat |
latent heat capacity
Definition at line 55 of file materials.hh.
Referenced by IceModel.excessToFromBasalMeltLayer(), and IceFlowLaw().
| PetscScalar meltingTemp |
melting temperature
Definition at line 55 of file materials.hh.
Referenced by IceFlowLaw(), IceModel.putTempAtDepth(), IceMISMIPModel.set_vars_from_options(), and IceModel.temperatureStep().
char prefix[256] [protected] |
Definition at line 81 of file materials.hh.
Referenced by IceFlowLaw(), PolyThermalGPBLDIce.setFromOptions(), ThermoGlenIce.setFromOptions(), CustomGlenIce.setFromOptions(), HybridIce.view(), ThermoGlenArrIceWarm.view(), ThermoGlenArrIce.view(), PolyThermalGPBLDIce.view(), ThermoGlenIce.view(), and CustomGlenIce.view().
| PetscScalar rho |
density
Definition at line 55 of file materials.hh.
Referenced by IceModel.basalSlidingHeatingSIA(), IceCompModel.basalVelocitySIA(), IceEISModel.basalVelocitySIA(), IceModel.basalVelocitySIA(), IceModel.computeDrivingStress(), IceCompModel.computeSigmaErrors(), IceModel.enthalpyAndDrainageStep(), IceModel.excessToFromBasalMeltLayer(), IceCompModel.fillSolnTestFG(), HybridIceStripped.flow(), HybridIce.flow(), ThermoGlenIce.flow(), HybridIce.flowParts(), IceModel.getBasalWaterPressure(), IceCompModel.getCompSourcesTestFG(), IceModel.getEnthalpyCTSColumn(), IceMISMIPModel.getMISMIPStats(), IceFlowLaw(), IceCompModel.init_physics(), IceEISModel.init_physics(), IceROSSModel.model_state_setup(), IceModel.putTempAtDepth(), CustomGlenIce.setDensity(), CustomGlenIce.setFromOptions(), IceExactSSAModel.setInitStateJ(), IceExactSSAModel.setInitStateM(), IceModel.setMaskSurfaceElevation_bootstrap(), IceExactSSAModel.taucSetI(), IceModel.temperatureStep(), IceModel.update_mask(), IceModel.update_surface_elevation(), IceModel.updateYieldStressUsingBasalWater(), IceModel.velocitySIAStaggered(), and CustomGlenIce.view().
| PetscScalar standard_gravity |
Definition at line 55 of file materials.hh.
Referenced by HybridIceStripped.flow(), HybridIce.flow(), ThermoGlenIce.flow(), HybridIce.flowParts(), and IceFlowLaw().
1.6.2-20100124