![]() |
v0.16.0 |
#include <stdlib.h>#include <cmath>#include <MoFEM.hpp>#include <boost/math/constants/constants.hpp>#include <SourceFunction.hpp>#include <boost/math/quadrature/gauss_kronrod.hpp>Go to the source code of this file.
Classes | |
| struct | ElementsAndOps< DIM > |
| [Operators_definition] More... | |
| struct | PhotonDiffusion |
| struct | PhotonDiffusion::CommonData |
| struct | PhotonDiffusion::OpCameraInteg |
| struct | PhotonDiffusion::OpGetScalarFieldGradientValuesOnSkin |
| struct | PhotonDiffusion::Monitor |
| struct | PhotonDiffusion::OpError |
Functions | |
| VectorDouble | interp_function (const std::string sens_image, MatrixDouble &m_ref_coords, int nb_gauss_pts, double cam_len_x, double cam_len_y, const std::string block_name) |
| int | main (int argc, char *argv[]) |
| [Integral_calc] | |
Variables | |
| static char | help [] = "...\n\n" |
| constexpr int | SPACE_DIM = 3 |
| [Define dimension] | |
| const double | n = 1.44 |
| refractive index of diffusive medium | |
| const double | c = 30. |
| speed of light (cm/ns) | |
| const double | v = c / n |
| phase velocity of light in medium (cm/ns) | |
| const double | inv_v = 1. / v |
| double | mu_a |
| absorption coefficient (cm^-1) | |
| double | mu_sp |
| scattering coefficient (cm^-1) | |
| double | D |
| double | A |
| double | h |
| double | slab_thickness |
| double | beam_radius |
| double | beam_centre_x |
| double | beam_centre_y |
| double | flux_magnitude = 1e3 |
| impulse magnitude | |
| const int | kronrod_points |
| This has been tested and gives the same result for any number of points. Increasing the number of points will increase the compute time, so 15 is used as default. | |
| double | cam_len_x = 5.0 |
| double | cam_len_y = 5.0 |
| PetscBool | from_initial = PETSC_TRUE |
| PetscBool | output_volume = PETSC_FALSE |
| PetscBool | output_camera = PETSC_FALSE |
| PetscBool | testing = PETSC_FALSE |
| int | order = 2 |
| int | save_every_nth_step = 1 |
| char | init_data_file_name [255] = "init_file.dat" |
| char | interp_file_name [255] = "interp_sensitivity.py" |
| char | interp_image_name [255] = "sens_image.png" |
| PetscBool | enable_python = PETSC_FALSE |
| int | numHoLevels = 1 |
Definition at line 34 of file photon_diffusion.cpp.
Definition at line 35 of file photon_diffusion.cpp.
[Define dimension]
Definition at line 32 of file photon_diffusion.cpp.
Definition at line 33 of file photon_diffusion.cpp.
| using OpBoundaryMass = FormsIntegrators<BoundaryEleOp>::Assembly< PETSC>::BiLinearForm<GAUSS>::OpMass<1, 1> |
Definition at line 55 of file photon_diffusion.cpp.
| using OpBoundarySource = FormsIntegrators<BoundaryEleOp>::Assembly< PETSC>::LinearForm<GAUSS>::OpSource<1, 1> |
Definition at line 59 of file photon_diffusion.cpp.
| using OpBoundaryTimeScalarField = FormsIntegrators<BoundaryEleOp>::Assembly< PETSC>::LinearForm<GAUSS>::OpBaseTimesScalar<1> |
Definition at line 57 of file photon_diffusion.cpp.
| using OpDomainGradGrad = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::BiLinearForm<GAUSS>::OpGradGrad<1, 1, SPACE_DIM> |
Definition at line 46 of file photon_diffusion.cpp.
| using OpDomainGradTimesVec = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::LinearForm<GAUSS>::OpGradTimesTensor<1, 1, SPACE_DIM> |
Definition at line 50 of file photon_diffusion.cpp.
| using OpDomainMass = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::BiLinearForm<GAUSS>::OpMass<1, 1> |
Definition at line 44 of file photon_diffusion.cpp.
| using OpDomainSource = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::LinearForm<GAUSS>::OpSource<1, 1> |
Definition at line 52 of file photon_diffusion.cpp.
| using OpDomainTimesScalarField = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::LinearForm<GAUSS>::OpBaseTimesScalar<1> |
Definition at line 48 of file photon_diffusion.cpp.
| using OpPPMap = OpPostProcMapInMoab<SPACE_DIM, SPACE_DIM> |
Definition at line 40 of file photon_diffusion.cpp.
Definition at line 36 of file photon_diffusion.cpp.
Definition at line 37 of file photon_diffusion.cpp.
Definition at line 42 of file photon_diffusion.cpp.
|
inline |
Definition at line 399 of file photon_diffusion.cpp.
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
[Integral_calc]
Definition at line 1000 of file photon_diffusion.cpp.
| double A |
Definition at line 70 of file photon_diffusion.cpp.
| double beam_centre_x |
Definition at line 75 of file photon_diffusion.cpp.
| double beam_centre_y |
Definition at line 76 of file photon_diffusion.cpp.
| double beam_radius |
Definition at line 74 of file photon_diffusion.cpp.
| const double c = 30. |
speed of light (cm/ns)
Definition at line 63 of file photon_diffusion.cpp.
| double cam_len_x = 5.0 |
Definition at line 82 of file photon_diffusion.cpp.
| double cam_len_y = 5.0 |
Definition at line 83 of file photon_diffusion.cpp.
| double D |
Definition at line 69 of file photon_diffusion.cpp.
| PetscBool enable_python = PETSC_FALSE |
Definition at line 96 of file photon_diffusion.cpp.
| double flux_magnitude = 1e3 |
impulse magnitude
Definition at line 77 of file photon_diffusion.cpp.
| PetscBool from_initial = PETSC_TRUE |
Definition at line 85 of file photon_diffusion.cpp.
| double h |
|
static |
Definition at line 24 of file photon_diffusion.cpp.
| char init_data_file_name[255] = "init_file.dat" |
Definition at line 93 of file photon_diffusion.cpp.
| char interp_file_name[255] = "interp_sensitivity.py" |
Definition at line 94 of file photon_diffusion.cpp.
| char interp_image_name[255] = "sens_image.png" |
Definition at line 95 of file photon_diffusion.cpp.
Definition at line 65 of file photon_diffusion.cpp.
| const int kronrod_points |
This has been tested and gives the same result for any number of points. Increasing the number of points will increase the compute time, so 15 is used as default.
number of points for kronrod integration, can be 15, 31, 41, 51, or 61 (from boost library docs)
Definition at line 78 of file photon_diffusion.cpp.
| double mu_a |
absorption coefficient (cm^-1)
Definition at line 67 of file photon_diffusion.cpp.
| double mu_sp |
scattering coefficient (cm^-1)
Definition at line 68 of file photon_diffusion.cpp.
| const double n = 1.44 |
refractive index of diffusive medium
Definition at line 62 of file photon_diffusion.cpp.
| int numHoLevels = 1 |
Definition at line 98 of file photon_diffusion.cpp.
| int order = 2 |
Definition at line 90 of file photon_diffusion.cpp.
| PetscBool output_camera = PETSC_FALSE |
Definition at line 87 of file photon_diffusion.cpp.
| PetscBool output_volume = PETSC_FALSE |
Definition at line 86 of file photon_diffusion.cpp.
| int save_every_nth_step = 1 |
Definition at line 91 of file photon_diffusion.cpp.
| double slab_thickness |
Definition at line 73 of file photon_diffusion.cpp.
|
constexpr |
[Define dimension]
Definition at line 29 of file photon_diffusion.cpp.
| PetscBool testing = PETSC_FALSE |
Definition at line 88 of file photon_diffusion.cpp.
phase velocity of light in medium (cm/ns)
Definition at line 64 of file photon_diffusion.cpp.