This class provides routines for oxide calculations at a point.
More...
#include <OxideModel.h>
|
| static void | get_diffusion_coefficients (double T, double *D) |
| | Function to return the diffusion coefficients in the layers.
|
| |
| static void | get_equilibrium_concetration (double T, double *C) |
| | Function to return the equiblibrium concentration at the phase boundaries in zirconium.
|
| |
| static int | integrateOxide (double dT, int N, const int *N2, const double *x0, const double *Cb, double **C0, const double *D, double **C1, double *x1, double *v1) |
| | Function to integrate the oxide over a fixed timestep. This routine will take the current solution and use an internal time stepping to advance the solution to the next point in time.
|
| |
|
| static double | computeDiffustionTimestep (const int N, const double x[2], const double Cb[2], const double *C, const double D) |
| |
| static void | computeVelocity (const int N, const double *x, const double *Cb, const int *Nl, double const *const *C, const double *D, double *v) |
| | This function computes the velocity of the bounary layers.
|
| |
| static void | solveLinearDiffusionLayer (const int N, const double dt, const double x0[2], const double v[2], const double Cb[2], const double *C0, const double D, double *C1, double *x1) |
| |
This class provides routines for oxide calculations at a point.
Definition at line 14 of file OxideModel.h.
◆ computeDiffustionTimestep()
| static double AMP::TimeIntegrator::OxideModel::computeDiffustionTimestep |
( |
const int |
N, |
|
|
const double |
x[2], |
|
|
const double |
Cb[2], |
|
|
const double * |
C, |
|
|
const double |
D |
|
) |
| |
|
staticprivate |
◆ computeVelocity()
| static void AMP::TimeIntegrator::OxideModel::computeVelocity |
( |
const int |
N, |
|
|
const double * |
x, |
|
|
const double * |
Cb, |
|
|
const int * |
Nl, |
|
|
double const *const * |
C, |
|
|
const double * |
D, |
|
|
double * |
v |
|
) |
| |
|
staticprivate |
This function computes the velocity of the bounary layers.
- Parameters
-
| [in] | N | Number of layers |
| [in] | x | Boundary position (N+1) |
| [in] | Cb | Concentration at boundaries (2*N) |
| [in] | Nl | Number of zones in each layer (N) |
| [in] | C | Concentration of each layer ( N x (Nl(i)) ) |
| [in] | D | Diffusion coefficient of each layer (N) |
| [out] | v | Velocity of each boundary interface (N+1) |
◆ get_diffusion_coefficients()
| static void AMP::TimeIntegrator::OxideModel::get_diffusion_coefficients |
( |
double |
T, |
|
|
double * |
D |
|
) |
| |
|
static |
Function to return the diffusion coefficients in the layers.
- Parameters
-
| T | Temperature to use for the diffusion coefficients (K) |
| D | Returned diffusion coefficients in the layers (cm^2/s). The output will be a 1x3 array: D[0] - The diffusion coefficient in the oxide layer D[1] - The diffusion coefficient in the alpha layer D[2] - The diffusion coefficient in the beta layer |
◆ get_equilibrium_concetration()
| static void AMP::TimeIntegrator::OxideModel::get_equilibrium_concetration |
( |
double |
T, |
|
|
double * |
C |
|
) |
| |
|
static |
Function to return the equiblibrium concentration at the phase boundaries in zirconium.
- Parameters
-
| T | Temperature to use for the equiblibrium (K) |
| C | Returned equilibrium concentrations at the phase boundaries. The output will be a 1x6 array: C[0] - The concentration in the oxide at the oxide-gas interface (g/cm^3) C[1] - The concentration in the oxide at the oxide-alpha interface (g/cm^3) C[2] - The concentration in the alpha at the alpha-oxide interface (g/cm^3) C[3] - The concentration in the alpha at the alpha-beta interface (g/cm^3) C[4] - The concentration in the beta at the beta-alpha interface (g/cm^3) C[5] - The concentration in the beta at the beta-bulk interface (g/cm^3) |
◆ integrateOxide()
| static int AMP::TimeIntegrator::OxideModel::integrateOxide |
( |
double |
dT, |
|
|
int |
N, |
|
|
const int * |
N2, |
|
|
const double * |
x0, |
|
|
const double * |
Cb, |
|
|
double ** |
C0, |
|
|
const double * |
D, |
|
|
double ** |
C1, |
|
|
double * |
x1, |
|
|
double * |
v1 |
|
) |
| |
|
static |
Function to integrate the oxide over a fixed timestep. This routine will take the current solution and use an internal time stepping to advance the solution to the next point in time.
- Returns
- value is the number of internal timesteps taken.
- Parameters
-
| [in] | dT | Timestep (s) |
| [in] | N | Number of layers |
| [in] | N2 | Number of points in each layer |
| [in] | x0 | Initial boundary position (cm) (N+1) |
| [in] | Cb | Concentration at boundaries (g/cm^3) (2xN) |
| [in] | C0 | Initial concentration of each layer (g/cm^3) {N}(1xN2) |
| [in] | D | Diffusion coefficient of each layer (cm^2/s) (N) |
| [out] | C1 | Final concentration of each layer (g/cm^3) {N}(1xN2) |
| [out] | x1 | Final boundary position (cm) (N+1) |
| [out] | v1 | Final boundary velocity (cm/s) (N+1) |
◆ solveLinearDiffusionLayer()
| static void AMP::TimeIntegrator::OxideModel::solveLinearDiffusionLayer |
( |
const int |
N, |
|
|
const double |
dt, |
|
|
const double |
x0[2], |
|
|
const double |
v[2], |
|
|
const double |
Cb[2], |
|
|
const double * |
C0, |
|
|
const double |
D, |
|
|
double * |
C1, |
|
|
double * |
x1 |
|
) |
| |
|
staticprivate |
The documentation for this class was generated from the following file: