I would like to create a FEPermeability class which allows the definition of different constitutive relations for the permeability of the porous matrix in a biphasic/poroelastic material. The two member functions of this class would be
//! permeability
virtual void Permeability(double k[3][3], FEMaterialPoint& pt) = 0;
//! tangent of permeability
virtual tens4ds Tangent_Permeability(FEMaterialPoint& mp) = 0;
which currently reside in FEPoroElastic. The reason for doing this is that the extension of FEBio to the modeling of solute transport will need to define a number of similar material classes, such as FEDiffusivity (for the diffusivity of solutes) and FESolubility (for their solubility) and we will need to be able to mix and match different choices of such material functions to describe a particular mixture.
As suggested in a previous post, http://mrlforums.sci.utah.edu/forums...8&goto=newpost (related to a different topic, but with a suggestion relevant here), the structure of the input file could have the form
<material id="1" type="poroelastic">
<solid type="neo-Hookean>
<!-- material parameters for neo-Hookean -->
</solid>
<permeability type="Holmes-Mow">
<!-- permeability materials here -->
</permeability>
</material>
This way, when we include solutes, we could define a material as follows:
<material id="1" type="solid-solvent-solute">
<solid type="neo-Hookean>
<!-- material parameters for neo-Hookean -->
</solid>
<permeability type="Holmes-Mow">
<!-- permeability materials here -->
</permeability>
<diffusivity type="referentially isotropic diffusivity">
<!-- diffusivity materials here -->
</diffusivity>
<solubility type="constant solubility">
<!-- solubility materials here -->
</solubility>
</material>
For now, this structure would work for a single solute, but we would need to update it for multiple solutes.
Gerard
//! permeability
virtual void Permeability(double k[3][3], FEMaterialPoint& pt) = 0;
//! tangent of permeability
virtual tens4ds Tangent_Permeability(FEMaterialPoint& mp) = 0;
which currently reside in FEPoroElastic. The reason for doing this is that the extension of FEBio to the modeling of solute transport will need to define a number of similar material classes, such as FEDiffusivity (for the diffusivity of solutes) and FESolubility (for their solubility) and we will need to be able to mix and match different choices of such material functions to describe a particular mixture.
As suggested in a previous post, http://mrlforums.sci.utah.edu/forums...8&goto=newpost (related to a different topic, but with a suggestion relevant here), the structure of the input file could have the form
<material id="1" type="poroelastic">
<solid type="neo-Hookean>
<!-- material parameters for neo-Hookean -->
</solid>
<permeability type="Holmes-Mow">
<!-- permeability materials here -->
</permeability>
</material>
This way, when we include solutes, we could define a material as follows:
<material id="1" type="solid-solvent-solute">
<solid type="neo-Hookean>
<!-- material parameters for neo-Hookean -->
</solid>
<permeability type="Holmes-Mow">
<!-- permeability materials here -->
</permeability>
<diffusivity type="referentially isotropic diffusivity">
<!-- diffusivity materials here -->
</diffusivity>
<solubility type="constant solubility">
<!-- solubility materials here -->
</solubility>
</material>
For now, this structure would work for a single solute, but we would need to update it for multiple solutes.
Gerard
Comment