![]() |
v0.16.0 |
#include <stdlib.h>#include <cmath>#include <MoFEM.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::OpError |
Macros | |
| #define | BOOST_MATH_GAUSS_NO_COMPUTE_ON_DEMAND |
Typedefs | |
| using | DomainEle = VolumeElementForcesAndSourcesCore |
| [Define dimension] | |
| using | DomainEleOp = DomainEle::UserDataOperator |
| using | PostProcEle = PostProcBrokenMeshInMoab< DomainEle > |
| using | OpDomainMass = FormsIntegrators< DomainEleOp >::Assembly< PETSC >::BiLinearForm< GAUSS >::OpMass< 1, 1 > |
| using | OpDomainGradGrad = FormsIntegrators< DomainEleOp >::Assembly< PETSC >::BiLinearForm< GAUSS >::OpGradGrad< 1, 1, SPACE_DIM > |
| using | OpDomainTimesScalarField = FormsIntegrators< DomainEleOp >::Assembly< PETSC >::LinearForm< GAUSS >::OpBaseTimesScalar< 1 > |
| using | OpDomainGradTimesVec = FormsIntegrators< DomainEleOp >::Assembly< PETSC >::LinearForm< GAUSS >::OpGradTimesTensor< 1, 1, SPACE_DIM > |
| using | OpDomainSource = FormsIntegrators< DomainEleOp >::Assembly< PETSC >::LinearForm< GAUSS >::OpSource< 1, 1 > |
Functions | |
| int | main (int argc, char *argv[]) |
| [Check results] | |
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) | |
| double | mu_a |
| absorption coefficient (cm^-1) | |
| double | mu_sp |
| scattering coefficient (cm^-1) | |
| double | D |
| 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 | initial_time |
| char | out_file_name [255] = "init_file.dat" |
| int | numHoLevels = 1 |
| PetscBool | output_volume = PETSC_FALSE |
| PetscBool | testing = PETSC_FALSE |
| #define BOOST_MATH_GAUSS_NO_COMPUTE_ON_DEMAND |
Definition at line 12 of file initial_diffusion.cpp.
[Define dimension]
Definition at line 24 of file initial_diffusion.cpp.
Definition at line 25 of file initial_diffusion.cpp.
| using OpDomainGradGrad = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::BiLinearForm<GAUSS>::OpGradGrad<1, 1, SPACE_DIM> |
Definition at line 30 of file initial_diffusion.cpp.
| using OpDomainGradTimesVec = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::LinearForm<GAUSS>::OpGradTimesTensor<1, 1, SPACE_DIM> |
Definition at line 34 of file initial_diffusion.cpp.
| using OpDomainMass = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::BiLinearForm<GAUSS>::OpMass<1, 1> |
Definition at line 28 of file initial_diffusion.cpp.
| using OpDomainSource = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::LinearForm<GAUSS>::OpSource<1, 1> |
Definition at line 36 of file initial_diffusion.cpp.
| using OpDomainTimesScalarField = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::LinearForm<GAUSS>::OpBaseTimesScalar<1> |
Definition at line 32 of file initial_diffusion.cpp.
| using PostProcEle = PostProcBrokenMeshInMoab<DomainEle> |
Definition at line 26 of file initial_diffusion.cpp.
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
[Check results]
Definition at line 490 of file initial_diffusion.cpp.
| double beam_centre_x |
Definition at line 49 of file initial_diffusion.cpp.
| double beam_centre_y |
Definition at line 50 of file initial_diffusion.cpp.
| double beam_radius |
Definition at line 48 of file initial_diffusion.cpp.
| const double c = 30. |
speed of light (cm/ns)
Definition at line 40 of file initial_diffusion.cpp.
| double D |
Definition at line 45 of file initial_diffusion.cpp.
| double flux_magnitude = 1e3 |
impulse magnitude
Definition at line 51 of file initial_diffusion.cpp.
|
static |
Definition at line 16 of file initial_diffusion.cpp.
| double initial_time |
Definition at line 55 of file initial_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 52 of file initial_diffusion.cpp.
| double mu_a |
absorption coefficient (cm^-1)
Definition at line 43 of file initial_diffusion.cpp.
| double mu_sp |
scattering coefficient (cm^-1)
Definition at line 44 of file initial_diffusion.cpp.
| const double n = 1.44 |
refractive index of diffusive medium
Definition at line 39 of file initial_diffusion.cpp.
| int numHoLevels = 1 |
Definition at line 59 of file initial_diffusion.cpp.
| char out_file_name[255] = "init_file.dat" |
Definition at line 57 of file initial_diffusion.cpp.
| PetscBool output_volume = PETSC_FALSE |
Definition at line 61 of file initial_diffusion.cpp.
| double slab_thickness |
Definition at line 47 of file initial_diffusion.cpp.
|
constexpr |
[Define dimension]
Definition at line 21 of file initial_diffusion.cpp.
| PetscBool testing = PETSC_FALSE |
Definition at line 62 of file initial_diffusion.cpp.
phase velocity of light in medium (cm/ns)
Definition at line 41 of file initial_diffusion.cpp.