pumapy.physicsmodels
pumapy.physicsmodels.anisotropic_conductivity_utils
-
pumapy.physicsmodels.anisotropic_conductivity_utils.
add_nondiag
()
-
pumapy.physicsmodels.anisotropic_conductivity_utils.
divP
()
-
pumapy.physicsmodels.anisotropic_conductivity_utils.
fill_flux
()
-
pumapy.physicsmodels.anisotropic_conductivity_utils.
flatten_Kmat
()
-
pumapy.physicsmodels.anisotropic_conductivity_utils.
index_at_p
()
-
pumapy.physicsmodels.anisotropic_conductivity_utils.
index_at_s
()
-
pumapy.physicsmodels.anisotropic_conductivity_utils.
pad_domain
()
pumapy.physicsmodels.anisotropic_conductivity_utils
-
pumapy.physicsmodels.anisotropic_conductivity_utils.
add_nondiag
()
-
pumapy.physicsmodels.anisotropic_conductivity_utils.
divP
()
-
pumapy.physicsmodels.anisotropic_conductivity_utils.
fill_flux
()
-
pumapy.physicsmodels.anisotropic_conductivity_utils.
flatten_Kmat
()
-
pumapy.physicsmodels.anisotropic_conductivity_utils.
index_at_p
()
-
pumapy.physicsmodels.anisotropic_conductivity_utils.
index_at_s
()
-
pumapy.physicsmodels.anisotropic_conductivity_utils.
pad_domain
()
pumapy.physicsmodels.boundary_conditions
-
class
pumapy.physicsmodels.boundary_conditions.
ConductivityBC
(workspace)[source]
Bases: object
-
show_dirichlet
()[source]
-
class
pumapy.physicsmodels.boundary_conditions.
ElasticityBC
(workspace)[source]
Bases: object
-
show_dirichlet
()[source]
-
show_links
()[source]
-
class
pumapy.physicsmodels.boundary_conditions.
Isotropic_periodicBC
(len_x, len_y, len_z)[source]
Bases: object
-
indexAt_3D
(i, j, k)[source]
-
class
pumapy.physicsmodels.boundary_conditions.
Isotropic_symmetricBC
(len_x, len_y, len_z)[source]
Bases: object
-
indexAt_3D
(i, j, k)[source]
pumapy.physicsmodels.conductivity_parent
-
class
pumapy.physicsmodels.conductivity_parent.
Conductivity
(workspace, cond_map, direction, side_bc, prescribed_bc, tolerance, maxiter, solver_type, display_iter)[source]
Bases: pumapy.physicsmodels.linear_solvers.PropertySolver
-
error_check
()[source]
-
log_input
()[source]
-
log_output
()[source]
pumapy.physicsmodels.elasticity_utils
-
pumapy.physicsmodels.elasticity_utils.
add_nondiag
()
-
pumapy.physicsmodels.elasticity_utils.
divP
()
-
pumapy.physicsmodels.elasticity_utils.
fill_stress_matrices
()
-
pumapy.physicsmodels.elasticity_utils.
flatten_Cmat
()
-
pumapy.physicsmodels.elasticity_utils.
index_at_p
()
-
pumapy.physicsmodels.elasticity_utils.
index_at_s
()
pumapy.physicsmodels.elasticity_utils
-
pumapy.physicsmodels.elasticity_utils.
add_nondiag
()
-
pumapy.physicsmodels.elasticity_utils.
divP
()
-
pumapy.physicsmodels.elasticity_utils.
fill_stress_matrices
()
-
pumapy.physicsmodels.elasticity_utils.
flatten_Cmat
()
-
pumapy.physicsmodels.elasticity_utils.
index_at_p
()
-
pumapy.physicsmodels.elasticity_utils.
index_at_s
()
pumapy.physicsmodels.fe_permeability
The following FE numerical method and implementation are based on the following research paper:
Vianna, R.S., Cunha, A.M., Azeredo, R.B., Leiderman, R. and Pereira, A., 2020.
Computing Effective Permeability of Porous Media with FEM and Micro-CT: An Educational Approach.
Fluids, 5(1), p.16.
See https://www.mdpi.com/2311-5521/5/1/16 for the publication.
See https://zenodo.org/record/3612168#.YUYlSWZKhTZ for 2D MATLAB implementation.
-
class
pumapy.physicsmodels.fe_permeability.
Permeability
(workspace, solid_cutoff, tolerance, maxiter, solver_type, display_iter)[source]
Bases: pumapy.physicsmodels.linear_solvers.PropertySolver
-
assemble_Amatrix
()[source]
-
assemble_bvector
()[source]
-
calculate_element_matrices
()[source]
-
compute
()[source]
-
compute_effective_coefficient
()[source]
-
error_check
()[source]
-
initialize
()[source]
-
log_input
()[source]
-
log_output
()[source]
-
solve
()[source]
pumapy.physicsmodels.isotropic_conductivity
-
class
pumapy.physicsmodels.isotropic_conductivity.
IsotropicConductivity
(workspace, cond_map, direction, side_bc, prescribed_bc, tolerance, maxiter, solver_type, display_iter)[source]
Bases: pumapy.physicsmodels.conductivity_parent.Conductivity
-
assemble_Amatrix
()[source]
-
assemble_bvector
()[source]
-
compute
()[source]
-
compute_effective_coefficient
()[source]
-
initialize
()[source]
pumapy.physicsmodels.isotropic_conductivity_utils
-
pumapy.physicsmodels.isotropic_conductivity_utils.
compute_flux
()
-
pumapy.physicsmodels.isotropic_conductivity_utils.
indexAt_3D
()
-
pumapy.physicsmodels.isotropic_conductivity_utils.
setup_matrices_cy
()
pumapy.physicsmodels.isotropic_conductivity_utils
-
pumapy.physicsmodels.isotropic_conductivity_utils.
compute_flux
()
-
pumapy.physicsmodels.isotropic_conductivity_utils.
indexAt_3D
()
-
pumapy.physicsmodels.isotropic_conductivity_utils.
setup_matrices_cy
()
pumapy.physicsmodels.linear_solvers
-
class
pumapy.physicsmodels.linear_solvers.
MinResSolverDisplay
[source]
Bases: object
-
class
pumapy.physicsmodels.linear_solvers.
PropertySolver
(workspace, solver_type, allowed_solvers, tolerance, maxiter, display_iter)[source]
Bases: object
-
solve
()[source]
-
class
pumapy.physicsmodels.linear_solvers.
SolverDisplay
[source]
Bases: object
pumapy.physicsmodels.mpfa_conductivity
Further explained in publication:
Semeraro, F., Ferguson, J.C., Acin, M., Panerai, F. and Mansour, N.N., 2021.
Anisotropic analysis of fibrous and woven materials part 2: Computation of effective conductivity.
Computational Materials Science, 186, p.109956.
https://www.sciencedirect.com/science/article/abs/pii/S092702562030447X
Please cite using this BibTex:
@article{semeraro2021anisotropic,
title={Anisotropic analysis of fibrous and woven materials part 2: Computation of effective conductivity},
author={Semeraro, Federico and Ferguson, Joseph C and Acin, Marcos and Panerai, Francesco and Mansour, Nagi N},
journal={Computational Materials Science},
volume={186},
pages={109956},
year={2021},
publisher={Elsevier}
}
-
class
pumapy.physicsmodels.mpfa_conductivity.
AnisotropicConductivity
(workspace, cond_map, direction, side_bc, prescribed_bc, tolerance, maxiter, solver_type, display_iter, print_matrices)[source]
Bases: pumapy.physicsmodels.conductivity_parent.Conductivity
-
assemble_Amatrix
()[source]
-
assemble_bvector
()[source]
-
compute
()[source]
-
compute_effective_coefficient
()[source]
-
error_check
()[source]
-
initialize
()[source]
-
pumapy.physicsmodels.mpfa_conductivity.
print_T
(temperature, dec=4)[source]
-
pumapy.physicsmodels.mpfa_conductivity.
print_flux
(flux, dec=4)[source]
pumapy.physicsmodels.mpsa_elasticity
-
class
pumapy.physicsmodels.mpsa_elasticity.
Elasticity
(workspace, elast_map, direction, side_bc, prescribed_bc, tolerance, maxiter, solver_type, display_iter, print_matrices)[source]
Bases: pumapy.physicsmodels.linear_solvers.PropertySolver
-
assemble_Amatrix
()[source]
-
assemble_bvector
()[source]
-
compute
()[source]
-
compute_effective_coefficient
()[source]
-
error_check
()[source]
-
index_at
(index, size)[source]
-
initialize
()[source]
-
log_input
()[source]
-
log_output
()[source]
-
pumapy.physicsmodels.mpsa_elasticity.
show_s
(s, t, dec=4)[source]
Print s stress (fifth int in print_matrices)
-
pumapy.physicsmodels.mpsa_elasticity.
show_u
(u, dec=4)[source]
Print u displacement (fourth int in print_matrices)
pumapy.physicsmodels.mpxa_matrices
matrices used in MPFA and MPSA functions
-
pumapy.physicsmodels.mpxa_matrices.
create_mpfa_indices
()[source]
-
pumapy.physicsmodels.mpxa_matrices.
create_mpsa_indices
()[source]
-
pumapy.physicsmodels.mpxa_matrices.
fill_Ampfa
(k)[source]
-
pumapy.physicsmodels.mpxa_matrices.
fill_Ampsa
(C)[source]
-
pumapy.physicsmodels.mpxa_matrices.
fill_Bmpfa
(k, z)[source]
-
pumapy.physicsmodels.mpxa_matrices.
fill_Bmpsa
(C)[source]
-
pumapy.physicsmodels.mpxa_matrices.
fill_Cmpfa
(k)[source]
-
pumapy.physicsmodels.mpxa_matrices.
fill_Cmpsa
(C)[source]
-
pumapy.physicsmodels.mpxa_matrices.
fill_Dmpfa
(k)[source]
-
pumapy.physicsmodels.mpxa_matrices.
fill_Dmpsa
(C)[source]
pumapy.physicsmodels.property_maps
-
class
pumapy.physicsmodels.property_maps.
AnisotropicConductivityMap
[source]
Bases: pumapy.physicsmodels.property_maps.MaterialPropertyMap
-
add_isotropic_material
(cutoff, k)[source]
-
add_material
(cutoff, kxx, kyy, kzz, kxy, kxz, kyz)[source]
-
add_material_to_orient
(cutoff, k_axial, k_radial)[source]
-
add_orthotropic_material
(cutoff, kxx, kyy, kzz)[source]
-
class
pumapy.physicsmodels.property_maps.
ElasticityMap
[source]
Bases: pumapy.physicsmodels.property_maps.MaterialPropertyMap
-
add_isotropic_material
(cutoff, E_youngmod, nu_poissrat)[source]
-
add_material
(cutoff, C11, C12, C13, C14, C15, C16, C22, C23, C24, C25, C26, C33, C34, C35, C36, C44, C45, C46, C55, C56, C66)[source]
-
add_material_to_orient
(cutoff, E_axial, E_radial, nu_poissrat_12, nu_poissrat_23, G12)[source]
-
show
()[source]
-
class
pumapy.physicsmodels.property_maps.
IsotropicConductivityMap
[source]
Bases: pumapy.physicsmodels.property_maps.MaterialPropertyMap
-
add_material
(cutoff, conductivity)[source]
-
class
pumapy.physicsmodels.property_maps.
MaterialPropertyMap
[source]
Bases: object
-
error_check
(cutoff, conductivity)[source]
-
get_material
(i)[source]
-
get_size
()[source]
-
show
()[source]
pumapy.physicsmodels.raycasting
-
class
pumapy.physicsmodels.raycasting.
RayCasting
(workspace, degree_accuracy, source_locations, valid_phase, boundary_behavior=0, exportparticles_filepathname='')[source]
Bases: object
-
error_check
()[source]
-
expand_sources
()[source]
-
generate_spherical_walkers
()[source]