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]