Difference between revisions of "Diffusion Calculations"
Line 49: | Line 49: | ||
* You can set a [[Setting Forces and Fluxes#Concentration or Pore Pressure Flux Conditions|concentration flux on particle surfaces]]. | * You can set a [[Setting Forces and Fluxes#Concentration or Pore Pressure Flux Conditions|concentration flux on particle surfaces]]. | ||
* Gradually apply initial concentration field to particles using a [[PropertyRamp Custom Task]]. | * Gradually apply initial concentration field to particles using a [[PropertyRamp Custom Task]]. | ||
* You can set initial particle concentration when creating material points. Note, however, that initial concentrations different than the reference concentration will cause strains to immediately evolve toward the changed state. The net effect will be an instantaneous "impact" that might cause undesirable dynamic effects. Using a [[PropertyRamp Custom Task]] is preferred method to set initial concentrations. | * You can set initial particle concentration when [[MPM Input Files#Creating the Material Points|creating material points]]. Note, however, that initial concentrations different than the reference concentration will cause strains to immediately evolve toward the changed state. The net effect will be an instantaneous "impact" that might cause undesirable dynamic effects. Using a [[PropertyRamp Custom Task]] is preferred method to set initial concentrations. | ||
* [[Rigid Material|Rigid particles]] can provide moving concentration boundary conditions. | * [[Rigid Material|Rigid particles]] can provide moving concentration boundary conditions. |
Revision as of 10:09, 25 January 2021
NairnMPM can do diffusion calculations coupled with stresses and strains through concentration-induced expansion.
Activating Diffusion
In scripted files, diffusion is activated with the command
Diffusion (YesOrNo),<(refConc)>
In XML input files, diffusion is activated with the <Diffusion> command, which must be within the <<MPMHeader> element:
<Diffusion reference = '(refConc)'/>
where
- (YesOrNo) must be "Yes" or "No" to activate or not activate diffusion calculations. In XML input files, the presence of a <Diffusion> command activates diffusion. The default is "No".
- (refConc) is used to set a reference concentration potential (between 0 and 1) that corresponds to zero strain. All diffusion calculations are done in terms of a concentration potential from 0 to 1 where 1 is the saturation concentration of a material type. The default (refConc) is 0.
By default, diffusion uses update methods analogous to FLIP methods used in mechanics. This update, however, sometimes results in concentration oscillations on particles within one cell. Diffusion simulations with oscillations can be improved by using periodic FMPM(k) for diffusion updates.
Note that diffusion models fluid transport through materials by transport methods nearly identical to those used to model poroelasticity. Because they share same methods, a simulation can activate diffusion (with above commands) or poroelasticity (with comparable Poroelasticity commands), but cannot activate them both. Any simulation, however, can combine diffusion or poroelasticity with thermal calculations and conduction. Note that when choosing archiving options, the terms "concentration" and "porepressure" are synonyms or either can be used and the archiving will store concentration terms for diffusion calculations or pore pressure terms for poroelasticity calculations.
Diffusion Material Properties
Concencentration changes are coupled to stress and strains through concentration expansion coefficients defined for the materials. By default, all moisture expansion coefficients are zero which decouples diffusion and strains. By entering non-zero values, the coupling will occur. Isotropic materials have a single solvent expansion coefficient while anisotropic will have two or three solvent expansion coefficients.
The rate of diffusion is controlled by the solvent diffusion constant defined for each material. Isotropic materials have a single solvent diffusion constant while anisotropic will have two or three solvent diffusion constants.
To be able to model diffusion in composite materials where different phases may absorb different amounts of solvent, all diffusion calculations are done in terms of a chemical potential for the solvent in the material, where chemical or concentration potential, μ, is approximate by
[math]\displaystyle{ \mu= {c\over c_{sat}} }[/math]
where c is the weight fraction of solvent absorbed in the material and csat is the saturation solvent weight fraction for that material (which is specified in the material definition). This concentration potential varies from 0 to 1 and equilibrium conditions corresponds to all particles being at the same concentration potential.
Archived Concentrations
When calculated concentrations and concentration gradients are archived, they are converted to actual concentration in weight fraction using the material's saturation concentration setting:
[math]\displaystyle{ c = c_{sat}\mu }[/math]
This conversion applies both to particle archives and to global archiving.
Diffusion Boundary Conditions
When diffusion is activated, you can set, the possible concentration boundary conditions are:
- You can set concentration on the grid.
- You can set a concentration flux on particle surfaces.
- Gradually apply initial concentration field to particles using a PropertyRamp Custom Task.
- You can set initial particle concentration when creating material points. Note, however, that initial concentrations different than the reference concentration will cause strains to immediately evolve toward the changed state. The net effect will be an instantaneous "impact" that might cause undesirable dynamic effects. Using a PropertyRamp Custom Task is preferred method to set initial concentrations.
- Rigid particles can provide moving concentration boundary conditions.