![]() |
v0.13.2 |
Go to the source code of this file.
Classes | |
struct | ElementsAndOps< DIM > |
struct | ElementsAndOps< 2 > |
struct | ExtractParentType< PARENT > |
struct | FreeSurface |
struct | Monitor |
Monitor solution. More... | |
Functions | |
template<int T> | |
constexpr int | powof2 () |
int | main (int argc, char *argv[]) |
Variables | |
static char | help [] = "...\n\n" |
constexpr int | BASE_DIM = 1 |
constexpr int | SPACE_DIM = 2 |
constexpr int | U_FIELD_DIM = SPACE_DIM |
constexpr CoordinateTypes | coord_type |
select coordinate system <CARTESIAN, CYLINDRICAL>; More... | |
FTensor::Index< 'i', SPACE_DIM > | i |
FTensor::Index< 'j', SPACE_DIM > | j |
FTensor::Index< 'k', SPACE_DIM > | k |
FTensor::Index< 'l', SPACE_DIM > | l |
constexpr auto | t_kd = FTensor::Kronecker_Delta_symmetric<int>() |
constexpr int | order = 3 |
approximation order More... | |
constexpr double | a0 = 0.98 |
constexpr double | rho_m = 0.998 |
constexpr double | mu_m = 0.0101 |
constexpr double | rho_p = 0.0012 |
constexpr double | mu_p = 0.000182 |
constexpr double | lambda = 7.4 |
constexpr double | W = 0.25 |
constexpr double | h = 0.025 |
constexpr double | eta = h |
constexpr double | eta2 = eta * eta |
constexpr double | md = 1e-2 |
constexpr double | eps = 1e-12 |
constexpr double | tol = std::numeric_limits<float>::epsilon() |
constexpr double | rho_ave = (rho_p + rho_m) / 2 |
constexpr double | rho_diff = (rho_p - rho_m) / 2 |
constexpr double | mu_ave = (mu_p + mu_m) / 2 |
constexpr double | mu_diff = (mu_p - mu_m) / 2 |
const double | kappa = (3. / (4. * std::sqrt(2. * W))) * (lambda / eta) |
auto | integration_rule = [](int, int, int) { return 2 * order; } |
auto | cylindrical |
auto | my_max = [](const double x) { return (x - 1 + std::abs(x + 1)) / 2; } |
auto | my_min = [](const double x) { return (x + 1 - std::abs(x - 1)) / 2; } |
auto | cut_off = [](const double h) { return my_max(my_min(h)); } |
auto | d_cut_off |
auto | phase_function |
auto | d_phase_function_h |
auto | get_f = [](const double h) { return 4 * W * h * (h * h - 1); } |
auto | get_f_dh = [](const double h) { return 4 * W * (3 * h * h - 1); } |
auto | get_M0 = [](auto h) { return md; } |
auto | get_M0_dh = [](auto h) { return 0; } |
auto | get_M2 |
auto | get_M2_dh |
auto | get_M3 |
auto | get_M3_dh |
auto | get_M = [](auto h) { return get_M0(h); } |
auto | get_M_dh = [](auto h) { return get_M0_dh(h); } |
auto | get_D |
auto | kernel_oscillation |
auto | kernel_eye |
auto | init_h |
auto | bit = [](auto b) { return BitRefLevel().set(b); } |
auto | marker = [](auto b) { return BitRefLevel().set(BITREFLEVEL_SIZE - b); } |
auto | save_range |
auto | get_dofs_ents |
using AssemblyBoundaryEleOp = FormsIntegrators<BoundaryEleOp>::Assembly<PETSC>::OpBase |
Definition at line 48 of file free_surface.cpp.
using AssemblyDomainEleOp = FormsIntegrators<DomainEleOp>::Assembly<PETSC>::OpBase |
Definition at line 46 of file free_surface.cpp.
Definition at line 37 of file free_surface.cpp.
Definition at line 38 of file free_surface.cpp.
Definition at line 39 of file free_surface.cpp.
using DomainEle = ElementsAndOps<SPACE_DIM>::DomainEle |
Definition at line 34 of file free_surface.cpp.
Definition at line 36 of file free_surface.cpp.
Definition at line 35 of file free_surface.cpp.
using EntData = EntitiesFieldData::EntData |
Definition at line 41 of file free_surface.cpp.
using OpBaseTimesScalar = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::LinearForm<GAUSS>::OpBaseTimesScalar<1, 1> |
Definition at line 62 of file free_surface.cpp.
using OpDomainMassH = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::BiLinearForm<GAUSS>::OpMass<BASE_DIM, 1> |
Definition at line 53 of file free_surface.cpp.
using OpDomainMassP = OpDomainMassH |
Definition at line 55 of file free_surface.cpp.
using OpDomainMassU = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::BiLinearForm<GAUSS>::OpMass<BASE_DIM, U_FIELD_DIM> |
Definition at line 51 of file free_surface.cpp.
using OpDomainSourceH = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::LinearForm<GAUSS>::OpSource<BASE_DIM, 1> |
Definition at line 59 of file free_surface.cpp.
using OpDomainSourceU = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::LinearForm<GAUSS>::OpSource<BASE_DIM, U_FIELD_DIM> |
Definition at line 57 of file free_surface.cpp.
using OpMixScalarTimesDiv = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::BiLinearForm<GAUSS>::OpMixScalarTimesDiv<SPACE_DIM, coord_type> |
Definition at line 65 of file free_surface.cpp.
Definition at line 44 of file free_surface.cpp.
using PostProcEle = PostProcBrokenMeshInMoab<DomainEle> |
Definition at line 43 of file free_surface.cpp.
int main | ( | int | argc, |
char * | argv[] | ||
) |
[Register MoFEM discrete manager in PETSc]
[Register MoFEM discrete manager in PETSc
[Create MoAB]
< mesh database
< mesh database interface
[Create MoAB]
[Create MoFEM]
< finite element database
< finite element database insterface
[Create MoFEM]
Definition at line 859 of file free_surface.cpp.
|
constexpr |
Definition at line 87 of file free_surface.cpp.
|
constexpr |
Definition at line 79 of file free_surface.cpp.
|
constexpr |
Definition at line 18 of file free_surface.cpp.
auto bit = [](auto b) { return BitRefLevel().set(b); } |
Definition at line 204 of file free_surface.cpp.
|
constexpr |
select coordinate system <CARTESIAN, CYLINDRICAL>;
Definition at line 21 of file free_surface.cpp.
Definition at line 123 of file free_surface.cpp.
auto cylindrical |
Definition at line 113 of file free_surface.cpp.
auto d_cut_off |
Definition at line 124 of file free_surface.cpp.
auto d_phase_function_h |
|
constexpr |
Definition at line 101 of file free_surface.cpp.
Definition at line 96 of file free_surface.cpp.
Definition at line 97 of file free_surface.cpp.
auto get_D |
Definition at line 176 of file free_surface.cpp.
auto get_dofs_ents |
Definition at line 218 of file free_surface.cpp.
Definition at line 139 of file free_surface.cpp.
Definition at line 140 of file free_surface.cpp.
Definition at line 173 of file free_surface.cpp.
Definition at line 142 of file free_surface.cpp.
auto get_M0_dh = [](auto h) { return 0; } |
Definition at line 143 of file free_surface.cpp.
auto get_M2 |
Definition at line 145 of file free_surface.cpp.
auto get_M2_dh |
Definition at line 150 of file free_surface.cpp.
auto get_M3 |
auto get_M3_dh |
Definition at line 174 of file free_surface.cpp.
|
constexpr |
Definition at line 95 of file free_surface.cpp.
|
static |
Definition at line 14 of file free_surface.cpp.
FTensor::Index<'i', SPACE_DIM> i |
Definition at line 68 of file free_surface.cpp.
auto init_h |
Definition at line 200 of file free_surface.cpp.
auto integration_rule = [](int, int, int) { return 2 * order; } |
Definition at line 111 of file free_surface.cpp.
FTensor::Index<'j', SPACE_DIM> j |
Definition at line 69 of file free_surface.cpp.
FTensor::Index<'k', SPACE_DIM> k |
Definition at line 70 of file free_surface.cpp.
Definition at line 109 of file free_surface.cpp.
auto kernel_eye |
Definition at line 192 of file free_surface.cpp.
auto kernel_oscillation |
Definition at line 182 of file free_surface.cpp.
FTensor::Index<'l', SPACE_DIM> l |
Definition at line 71 of file free_surface.cpp.
|
constexpr |
Definition at line 84 of file free_surface.cpp.
auto marker = [](auto b) { return BitRefLevel().set(BITREFLEVEL_SIZE - b); } |
Definition at line 205 of file free_surface.cpp.
|
constexpr |
Definition at line 100 of file free_surface.cpp.
Definition at line 106 of file free_surface.cpp.
Definition at line 107 of file free_surface.cpp.
|
constexpr |
Definition at line 81 of file free_surface.cpp.
|
constexpr |
Definition at line 83 of file free_surface.cpp.
auto my_max = [](const double x) { return (x - 1 + std::abs(x + 1)) / 2; } |
Definition at line 121 of file free_surface.cpp.
auto my_min = [](const double x) { return (x + 1 - std::abs(x - 1)) / 2; } |
Definition at line 122 of file free_surface.cpp.
|
constexpr |
auto phase_function |
Definition at line 131 of file free_surface.cpp.
Definition at line 104 of file free_surface.cpp.
Definition at line 105 of file free_surface.cpp.
|
constexpr |
Definition at line 80 of file free_surface.cpp.
|
constexpr |
Definition at line 82 of file free_surface.cpp.
auto save_range |
Definition at line 207 of file free_surface.cpp.
|
constexpr |
Definition at line 19 of file free_surface.cpp.
|
constexpr |
Definition at line 73 of file free_surface.cpp.
|
constexpr |
Definition at line 102 of file free_surface.cpp.
|
constexpr |
Definition at line 20 of file free_surface.cpp.
|
constexpr |
Definition at line 85 of file free_surface.cpp.