pycbg.preprocessing.Materials¶
-
class
pycbg.preprocessing.
Materials
¶ Create materials for particle sets.
-
materials
¶ Each element is a dictionnary containing a material’s parameters. The index of a material is his id.
- Type
list of dict
-
psets_ids
¶ The element i of this list is the id of the particle set made of the material defined in
materials[i]
.- Type
list of ints
Notes
Due to (probably) a bug in CB-Geo, materials should be created in the same order than the corresponding particle sets (so particle sets and materials have the same id).
Examples
Creating two materials for two particle sets :
>>> mesh = Mesh((1.,1.,1.), (1,1,1)) >>> particles = Particles(mesh, 2) >>> entity_sets = EntitySets(mesh, particles) >>> lower_particles = entity_sets.create_set(lambda x,y,z: x<.5, typ="particle") >>> upper_particles = entity_sets.create_set(lambda x,y,z: x>=.5, typ="particle") >>> materials = Materials() >>> materials.create_MohrCoulomb3D(pset_id=lower_particles, density=750, ... youngs_modulus=5.26e7, ... poisson_ratio=.3, ... friction=36., ... dilation=0., ... cohesion=1., ... tension_cutoff=1., ... softening=False) >>> materials.create_Newtonian3D(pset_id=upper_particles, density=1.225, ... bulk_modulus=1.42e5, ... dynamic_viscosity=1.81e3) >>> materials.pset_ids [0, 1]
-
__init__
()¶ Initialize self. See help(type(self)) for accurate signature.
Methods
Initialize self.
Create LinearElastic3D material.
Create MohrCoulomb3D material, as specified by CB-Geo documentation.
Create Newtonian3D material, as specified by CB-Geo documentation.
-
create_LinearElastic3D
(pset_id=0, density=1000.0, youngs_modulus=50000000.0, poisson_ratio=0.3)¶ Create LinearElastic3D material.
- Parameters
pset_id (int) – Particle set id that will be made off this material
density (float, optional) – Density of the material (\(kg/m^3\)). Default is 1.225 \(kg/m^3\).
young_modulus (float, optional) – Young’s modulus of the material (\(Pa\)). Default is 50 \(GPa\).
poisson_ratio (float, otpional) – Poisson’s ratio of the material. Default is 0.3 .
-
create_MohrCoulomb3D
(pset_id=0, density=1000.0, youngs_modulus=50000000.0, poisson_ratio=0.3, friction=36.0, dilation=0.0, cohesion=0.0, tension_cutoff=0.0, softening=False, peak_pdstrain=0.0, residual_pdstrain=0.0, residual_friction=13.0, residual_dilation=0.0, residual_cohesion=0.0)¶ Create MohrCoulomb3D material, as specified by CB-Geo documentation.
- Parameters
pset_id (int) – Particle set id that will be made off this material
density (float, optional) – Density of the material (\(kg/m^3\)). Default is 1.225 \(kg/m^3\).
young_modulus (float, optional) – Young’s modulus of the material (\(Pa\)). Default is 50 \(GPa\).
poisson_ratio (float, otpional) – Poisson’s ratio of the material. Default is 0.3 .
friction (float, optional) – Friction angle of the material (\(^\circ\)). Default is 36 \(^\circ\).
dilation (float, optional) – Dilation angle of the material (\(^\circ\)). Default is 0 \(^\circ\).
cohesion (float, optional) – Cohesion in the material (\(Pa\)). Default is 0 \(Pa\).
tension_cutoff (float, optional) – Tension strength of the material (\(Pa\)). Default is 0 \(Pa\).
softening (bool, optional) – Enable softening option. If True, one has to set peak_pdstrain, residual_pdstrain, residual_friction, residual_dilation and residual_cohesion. Default is False.
peak_pdstrain (float, optional) – Start point of strain softening. Default is 0.
residual_pdstrain (float, optional) – End point of strain softening. Default is 0.
residual_friction (float, optional) – Residual friction angle (\(^\circ\)). Default is 13 \(^\circ\).
residual_dilation (float, optional) – Residual dilation angle (\(^\circ\)). Default is 0 \(^\circ\).
residual_cohesion (float, optional) – Residual cohesion (\(Pa\)). Default is 0 \(Pa\).
-
create_Newtonian3D
(pset_id=0, density=1.225, bulk_modulus=142000.0, dynamic_viscosity=1.81e-05)¶ Create Newtonian3D material, as specified by CB-Geo documentation.
- Parameters
pset_id (int) – Particle set id that will be made off this material
density (float, optional) – Density of the material (\(kg/m^3\)). Default is 1.225 \(kg/m^3\).
bulk_modulus (float, optional) – Bulk modulus of the material (\(Pa\)). Default is 142 \(kPa\).
dynamic_viscosity (float, otpional) – Dynamic viscosity of the material (\(Pa.s\)). Default is 18.1 \(\mu Pa.s\)
Notes
Defaults correspond to air’s properties.
-