|
| procedure | construct (self, parameters) |
| | Construct/Initialize a level set with the given parameters Default values:
|
| |
| procedure | destruct (self) |
| | Cleanly deconstruct a level set.
|
| |
| procedure | copy (self, levelset_dest) |
| | Fill a copy of the level set.
|
| |
| procedure | set (self, phi) |
| | Set the levelset to the supplied value.
|
| |
| procedure | set_vf_bc (self, vf_boundary_condition) |
| | Specify new boundary conditions for the level set using VF values.
|
| |
| procedure | apply_bc (self) |
| | Explicitely apply the boundary conditions.
|
| |
| procedure | update_secondary_fields (self) |
| | Update secondary fields if needed.
|
| |
| procedure | compute_band (self) |
| | Compute the band around the level set.
|
| |
| procedure | compute_kinks_map levelset_compute_kinks_map |
| |
| procedure | reinitialize compute_levelset_reinitialization |
| |
| procedure | compute_initial_info (self) |
| |
| procedure, pass | allocate_band (my_levelset) |
| | Allocate the band array.
|
| |
| procedure, pass | allocate_volume_fraction (my_levelset) |
| | Allocate the volume fraction array.
|
| |
| procedure, pass | allocate_normal (my_levelset) |
| | Allocate the normal array.
|
| |
| procedure, pass | allocate_gradient (my_levelset) |
| | Allocate the gradient array.
|
| |
| procedure, pass | allocate_gradient_norm (my_levelset) |
| | Allocate the gradient norm array.
|
| |
| procedure, pass | allocate_curvature (my_levelset) |
| | Allocate the curvature array.
|
| |
| procedure, pass | allocate_kinks_map (my_levelset) |
| | Allocate the kinks map array.
|
| |
|
| double precision, dimension(:,:,:), allocatable | data |
| |
| type(t_boundary_condition) | ls_boundary_condition |
| | Boundary conditions.
|
| |
| type(t_boundary_condition) | vf_boundary_condition |
| |
| integer, dimension(:,:,:), allocatable | band |
| |
| double precision, dimension(:,:,:), allocatable | volume_fraction |
| |
| double precision, dimension(:,:,:,:), allocatable | normal |
| | The normal is stored as (nx,ny,nz,nd)
|
| |
| double precision, dimension(:,:,:,:), allocatable | gradient_t |
| | The gradient is stored as (nx,ny,nz,nd) (not like the gradient)
|
| |
| double precision, dimension(:,:,:), allocatable | gradient_norm |
| |
| double precision, dimension(:,:,:), allocatable | curvature |
| |
| integer, dimension(:,:,:), allocatable | kinks_map |
| |
| logical | need_to_update_secondary_fields = .true. |
| |
| type(t_levelset_parameters) | parameters |
| |
| type(t_fv_flux) | flux_type = default_flux_lw |
| |
| type(t_fv_flux) | see |
| |
| type(t_fv_flux) | mod_fv_fluxes |
| |
| type(t_particle_list) | particles_list |
| |
| double precision | initial_volume |
| |
| double precision | the |
| |
| double precision | initial |
| |
| double precision | total |
| |
| double precision | volume |
| |
| double precision | initial_surface |
| |
| double precision | surface |
| |
◆ allocate_band()
| procedure, pass type_levelset::t_levelset::allocate_band |
( |
class(t_levelset), intent(inout) | my_levelset | ) |
|
◆ allocate_curvature()
| procedure, pass type_levelset::t_levelset::allocate_curvature |
( |
class(t_levelset), intent(inout) | my_levelset | ) |
|
Allocate the curvature array.
◆ allocate_gradient()
| procedure, pass type_levelset::t_levelset::allocate_gradient |
( |
class(t_levelset), intent(inout) | my_levelset | ) |
|
Allocate the gradient array.
◆ allocate_gradient_norm()
| procedure, pass type_levelset::t_levelset::allocate_gradient_norm |
( |
class(t_levelset), intent(inout) | my_levelset | ) |
|
Allocate the gradient norm array.
◆ allocate_kinks_map()
| procedure, pass type_levelset::t_levelset::allocate_kinks_map |
( |
class(t_levelset), intent(inout) | my_levelset | ) |
|
Allocate the kinks map array.
◆ allocate_normal()
| procedure, pass type_levelset::t_levelset::allocate_normal |
( |
class(t_levelset), intent(inout) | my_levelset | ) |
|
Allocate the normal array.
◆ allocate_volume_fraction()
| procedure, pass type_levelset::t_levelset::allocate_volume_fraction |
( |
class(t_levelset), intent(inout) | my_levelset | ) |
|
Allocate the volume fraction array.
◆ apply_bc()
| procedure type_levelset::t_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.
◆ compute_band()
| procedure type_levelset::t_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.
◆ compute_initial_info()
| procedure type_levelset::t_levelset::compute_initial_info |
( |
class(t_levelset), intent(inout) | self | ) |
|
◆ compute_kinks_map()
| procedure type_levelset::t_levelset::compute_kinks_map |
◆ construct()
Construct/Initialize a level set with the given parameters Default values:
- Boundary conditions: homogeneous Neumann
- Todo
- Treat periodic boundaries
◆ copy()
| procedure type_levelset::t_levelset::copy |
( |
class(t_levelset), intent(in) | self, |
|
|
class(t_levelset), intent(inout) | levelset_dest ) |
Fill a copy of the level set.
◆ destruct()
| procedure type_levelset::t_levelset::destruct |
( |
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
◆ reinitialize()
| procedure type_levelset::t_levelset::reinitialize |
◆ set()
| procedure type_levelset::t_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!
◆ set_ls_bc()
| procedure, private type_levelset::t_levelset::set_ls_bc |
( |
class(t_levelset), intent(inout) | self, |
|
|
class(t_boundary_condition), intent(in) | ls_boundary_condition ) |
|
private |
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
◆ set_vf_bc()
| procedure type_levelset::t_levelset::set_vf_bc |
( |
class(t_levelset), intent(inout) | self, |
|
|
class(t_boundary_condition), intent(in) | vf_boundary_condition ) |
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)
◆ update_secondary_fields()
| procedure type_levelset::t_levelset::update_secondary_fields |
( |
class(t_levelset), intent(inout) | self | ) |
|
Update secondary fields if needed.
- Parameters
-
◆ band
| integer, dimension(:,:,:), allocatable type_levelset::t_levelset::band |
◆ curvature
| double precision, dimension(:,:,:), allocatable type_levelset::t_levelset::curvature |
◆ data
| double precision, dimension(:,:,:), allocatable type_levelset::t_levelset::data |
◆ flux_type
◆ gradient_norm
| double precision, dimension(:,:,:), allocatable type_levelset::t_levelset::gradient_norm |
◆ gradient_t
| double precision, dimension(:,:,:,:), allocatable type_levelset::t_levelset::gradient_t |
The gradient is stored as (nx,ny,nz,nd) (not like the gradient)
◆ initial
| double precision type_levelset::t_levelset::initial |
◆ initial_surface
| double precision type_levelset::t_levelset::initial_surface |
◆ initial_volume
| double precision type_levelset::t_levelset::initial_volume |
◆ kinks_map
| integer, dimension(:,:,:), allocatable type_levelset::t_levelset::kinks_map |
◆ ls_boundary_condition
◆ mod_fv_fluxes
| type(t_fv_flux) type_levelset::t_levelset::mod_fv_fluxes |
◆ need_to_update_secondary_fields
| logical type_levelset::t_levelset::need_to_update_secondary_fields = .true. |
◆ normal
| double precision, dimension(:,:,:,:), allocatable type_levelset::t_levelset::normal |
The normal is stored as (nx,ny,nz,nd)
◆ parameters
◆ particles_list
◆ see
| type(t_fv_flux) type_levelset::t_levelset::see |
◆ surface
| double precision type_levelset::t_levelset::surface |
◆ the
| double precision type_levelset::t_levelset::the |
◆ total
| double precision type_levelset::t_levelset::total |
◆ vf_boundary_condition
◆ volume
| double precision type_levelset::t_levelset::volume |
◆ volume_fraction
| double precision, dimension(:,:,:), allocatable type_levelset::t_levelset::volume_fraction |
The documentation for this type was generated from the following file: