The level set type.
More...
◆ levelset_allocate_band()
| subroutine type_levelset::levelset_allocate_band |
( |
class(t_levelset), intent(inout) | my_levelset | ) |
|
◆ levelset_allocate_curvature()
| subroutine type_levelset::levelset_allocate_curvature |
( |
class(t_levelset), intent(inout) | my_levelset | ) |
|
Allocate the curvature array.
◆ levelset_allocate_gradient()
| subroutine type_levelset::levelset_allocate_gradient |
( |
class(t_levelset), intent(inout) | my_levelset | ) |
|
Allocate the gradient array.
◆ levelset_allocate_gradient_norm()
| subroutine type_levelset::levelset_allocate_gradient_norm |
( |
class(t_levelset), intent(inout) | my_levelset | ) |
|
Allocate the gradient norm array.
◆ levelset_allocate_kinks_map()
| subroutine type_levelset::levelset_allocate_kinks_map |
( |
class(t_levelset), intent(inout) | my_levelset | ) |
|
Allocate the kinks map array.
◆ levelset_allocate_normal()
| subroutine type_levelset::levelset_allocate_normal |
( |
class(t_levelset), intent(inout) | my_levelset | ) |
|
Allocate the normal array.
◆ levelset_allocate_volume_fraction()
| subroutine type_levelset::levelset_allocate_volume_fraction |
( |
class(t_levelset), intent(inout) | my_levelset | ) |
|
Allocate the volume fraction array.
◆ levelset_apply_bc()
| subroutine type_levelset::levelset_apply_bc |
( |
class(t_levelset), intent(inout) | self | ) |
|
Explicitely apply the boundary conditions.
This routine is, everytime, updating the ls boundary conditions based on the vf boundary conditions, as the ls is implicitly defined.
◆ levelset_compute_band()
| subroutine type_levelset::levelset_compute_band |
( |
class(t_levelset), intent(inout) | self | ) |
|
Compute the band around the level set.
- Parameters
-
- Note
- the band is defined as
1 in the first band width (see parametersband_width), 2 in the second band width and 0 elsewhere.
◆ levelset_compute_initial_info()
| subroutine type_levelset::levelset_compute_initial_info |
( |
class(t_levelset), intent(inout) | self | ) |
|
◆ levelset_constructor()
Construct/Initialize a level set with the given parameters Default values:
- Boundary conditions: homogeneous Neumann
- Todo
- Treat periodic boundaries
◆ levelset_copy()
| subroutine type_levelset::levelset_copy |
( |
class(t_levelset), intent(in) | self, |
|
|
class(t_levelset), intent(inout) | levelset_dest ) |
Fill a copy of the level set.
◆ levelset_destructor()
| subroutine type_levelset::levelset_destructor |
( |
class(t_levelset), intent(inout), target | self | ) |
|
Cleanly deconstruct a level set.
- Todo
- MCO: with modern Fortran, it is no more necessary to unallocate the various arrays
◆ levelset_set()
| subroutine type_levelset::levelset_set |
( |
class(t_levelset), intent(inout) | self, |
|
|
double precision, dimension(:,:,:), intent(in) | phi ) |
Set the levelset to the supplied value.
- Parameters
-
| [in,out] | self | the element |
| [in] | phi | the supplied level set |
- Note
- At the same time, compute the levelset band!
- Todo
- MCO: the function compute_initial_info() is not callable before the phase_advection_grid_volume is initialized, hence we cannot call it here when the LS is set by the UI!
◆ levelset_set_ls_bc()
Specify new boundary conditions for the level set.
This should only be called internaly
- See also
- levelset_set_vf_bc is the principal routine to use
◆ levelset_set_vf_bc()
Specify new boundary conditions for the level set using VF values.
- Warning
- the boundary conditions, here, are the one of a volume fraction! (hence, 0 or 1 for Dirichlet type)
◆ levelset_update_secondary_fields()
| subroutine type_levelset::levelset_update_secondary_fields |
( |
class(t_levelset), intent(inout) | self | ) |
|
Update secondary fields if needed.
- Parameters
-