GEOS-DEV / GEOS

GEOS Simulation Framework
GNU Lesser General Public License v2.1
211 stars 85 forks source link

[Feature] Enable PoroElasticTransverseIsotropic Model #3018

Open FishYNY opened 7 months ago

FishYNY commented 7 months ago

At first, I used this version to run my model. But there is error that getShearModulus() not implemented for this model. GEOSX version: 0.2.0 (develop, sha1: 94e338c7f)

The error information: ERROR LOCATION: /home/pku/codes/codes09122023/GEOS/src/coreComponents/constitutive/solid/SolidBase.hpp:137 Controlling expression (should be false): true Rank 7: getShearModulus() not implemented for this model

I found that "Re-Enable anisotropic constitutive models #2749 ". And I updated the codes and rerun it today. But still there is error. The error information turned into getBulkModulus() not implemented for this model.

GEOS version: 0.2.0, maybe 3c386ca

ERROR LOCATION: /home/pku/codes/codes03032024/GEOS/src/coreComponents/constitutive/solid/SolidBase.hpp:112 Controlling expression (should be false): true Rank 0: getBulkModulus() not implemented for this model

jhuang2601 commented 7 months ago

@FishYNY I've gone through the code and there is no issue for ElasticTransverseIsotropic model. As the smoke test inputFiles/solidMechanics/elasticHollowCylinder_transverseIsotropic_smoke.xml has already been added to the integratedTest to protect this modelling capabilities, it should be running with the develop repo. Can you test running this smoke example?

FishYNY commented 7 months ago

@FishYNY I've gone through the code and there is no issue for ElasticTransverseIsotropic model. As the smoke test inputFiles/solidMechanics/elasticHollowCylinder_transverseIsotropic_smoke.xml has already been added to the integratedTest to protect this modelling capabilities, it should be running with the develop repo. Can you test running this smoke example?

Sure, I can run the test with this example. However, I am currently working on a fluid-solid coupling model, and I wonder if this will have an effect on the invocation of the ElasticTransverseIsotropic model? Do we have examples where this module is tested within a fluid-solid coupling scenario?

jhuang2601 commented 7 months ago

@FishYNY I've gone through the code and there is no issue for ElasticTransverseIsotropic model. As the smoke test inputFiles/solidMechanics/elasticHollowCylinder_transverseIsotropic_smoke.xml has already been added to the integratedTest to protect this modelling capabilities, it should be running with the develop repo. Can you test running this smoke example?

Sure, I can run the test with this example. However, I am currently working on a fluid-solid coupling model, and I wonder if this will have an effect on the invocation of the ElasticTransverseIsotropic model? Do we have examples where this module is tested within a fluid-solid coupling scenario?

Now, I know what is the root cause for your case. In GEOS, current poromechanics wrapper cannot be extended to ElasticTransverseIsotropic model, because of the way how to handle Biot's coefficient and Biot porosity. As of now, ElasticTransverseIsotropic model can only be used to solve mechanical problems, not ready for the fully coupled ones.

FishYNY commented 7 months ago

@FishYNY I've gone through the code and there is no issue for ElasticTransverseIsotropic model. As the smoke test inputFiles/solidMechanics/elasticHollowCylinder_transverseIsotropic_smoke.xml has already been added to the integratedTest to protect this modelling capabilities, it should be running with the develop repo. Can you test running this smoke example?

Sure, I can run the test with this example. However, I am currently working on a fluid-solid coupling model, and I wonder if this will have an effect on the invocation of the ElasticTransverseIsotropic model? Do we have examples where this module is tested within a fluid-solid coupling scenario?

Now, I know what is the root cause for your case. In GEOS, current poromechanics wrapper cannot be extended to ElasticTransverseIsotropic model, because of the way how to handle Biot's coefficient and Biot porosity. As of now, ElasticTransverseIsotropic model can only be used to solve mechanical problems, not ready for the fully coupled ones.

Btw, if the crack is inclined, the transverse direction is along the crack surface rather than along the x/y/z axes. However, I have not seen any parameters like rotation angles within the 'transverseIsotropic' settings. How to achieve arbitrary angle transverse isotropy? Would users need to rotate the stiffness matrix based on the crack orientation beforehand?