Initialization

KitAMR.initialize_KitAMRFunction
initialize_KitAMR(
    config::Dict
) -> Tuple{Union{Ptr{KitAMR.P4est.LibP4est.p4est}, Ptr{KitAMR.P4est.LibP4est.p8est}}, KA}

Initialize everthing according to config dictionary.

source

KitAMR.initialize_ghostFunction
initialize_ghost(
    p4est::Union{Ptr{KitAMR.P4est.LibP4est.p4est}, Ptr{KitAMR.P4est.LibP4est.p8est}},
    kinfo::KInfo
) -> Ghost

Initialize Ghost structure.

source

KitAMR.initialize_trees!Function
initialize_trees!(
    kinfo::KInfo{DIM, NDF}
) -> Tuple{Union{Ptr{KitAMR.P4est.LibP4est.p4est}, Ptr{KitAMR.P4est.LibP4est.p8est}}, Any}

Initialize field for 2D case.

source
initialize_trees!(
    kinfo::KInfo{3, NDF}
) -> Tuple{Union{Ptr{KitAMR.P4est.LibP4est.p4est}, Ptr{KitAMR.P4est.LibP4est.p8est}}, Any}

Initialize field for 3D case.

source

In this function, p4est is initialized. Mesh (in both physical and velocity space) is generated and adaptively refined. Field (in both physical and velocity space) is initialized according to initial conditions. Mapping between Julia data and p4est is established. Currently, realizations for 2D and 3D cases are different. The method for 3D case can be more complicated but more efficient. The method for 2D will be improved to be consistent with the 3D case.


KitAMR.initialize_ps!Function
initialize_ps!(
    p4est::Ptr{KitAMR.P4est.LibP4est.p4est},
    kinfo::KInfo{DIM, NDF}
) -> PsTrees
source
initialize_ps!(
    p4est::Ptr{KitAMR.P4est.LibP4est.p8est},
    kinfo::KInfo{DIM, NDF}
) -> Any
source

Initialize PsData and establish the mapping between Julia data and p4est.


KitAMR.pre_refine!Function
pre_refine!(
    p4est::Ptr{KitAMR.P4est.LibP4est.p4est},
    kinfo::KInfo
)
source
pre_refine!(
    p4est::Ptr{KitAMR.P4est.LibP4est.p8est},
    kinfo::KInfo
) -> Any
source

Mesh identification, geometric adaptive refinement, and initial partition.


KitAMR.initialize_faces!Function
initialize_faces!(
    p4est::Ptr{KitAMR.P4est.LibP4est.p4est},
    ka::KA
)
source
initialize_faces!(
    p4est::Ptr{KitAMR.P4est.LibP4est.p8est},
    ka::KA
)
source

Initialize faces defined by AbstractFace.


KitAMR.AMR_ghost_newFunction
AMR_ghost_new(
    p4est::Ptr{KitAMR.P4est.LibP4est.p4est}
) -> Ptr{KitAMR.P4est.LibP4est.p4est_ghost_t}
source
AMR_ghost_new(
    p4est::Ptr{KitAMR.P4est.LibP4est.p8est}
) -> Ptr{KitAMR.P4est.LibP4est.p8est_ghost_t}
source

Initialize the ghost layer in p4est.


KitAMR.AMR_mesh_newFunction
AMR_mesh_new(
    p4est::Ptr{KitAMR.P4est.LibP4est.p4est},
    ghost::Ptr{KitAMR.P4est.LibP4est.p4est_ghost_t}
) -> Ptr{KitAMR.P4est.LibP4est.p4est_mesh_t}
source
AMR_mesh_new(
    p4est::Ptr{KitAMR.P4est.LibP4est.p8est},
    ghost::Ptr{KitAMR.P4est.LibP4est.p8est_ghost_t}
) -> Ptr{KitAMR.P4est.LibP4est.p8est_mesh_t}
source

Initialize the mesh in p4est that is used to look up the neighboring cell in physical space.


KitAMR.initialize_neighbor_data!Function
initialize_neighbor_data!(
    ip::KitAMR.P4est.PointerWrappers.PointerWrapper{KitAMR.P4est.LibP4est.p4est_iter_volume_info},
    data,
    dp
)
source
initialize_neighbor_data!(
    ip::KitAMR.P4est.PointerWrappers.PointerWrapper{KitAMR.P4est.LibP4est.p8est_iter_volume_info},
    data,
    dp
)
source
initialize_neighbor_data!(info, data)
source
initialize_neighbor_data!(
    p4est::Union{Ptr{KitAMR.P4est.LibP4est.p4est}, Ptr{KitAMR.P4est.LibP4est.p8est}},
    ka::KA
)
source

Initialize Neighbor in PsData.


Initialize SolidNeighbors corresponding to the immersed boundaries.