CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Programming & Development

Effective Traction at the BC (main solid4Foam)

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By bigphil

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 13, 2019, 11:51
Default Effective Traction at the BC (main solid4Foam)
  #1
New Member
 
Thomas N.
Join Date: Nov 2018
Posts: 11
Rep Power: 8
physicosm is on a distinguished road
Dear solid4Foamers,


I am trying to implement an effective stress at the Boundary Conditions that will represent a thin layer of a material (e.g. gold) in contact with a bulk of a different material. Thus, the traction will have the form


Teff + T = sigma&n;

with Teff=div_{surface}(sigma)_surface and the index "surface" means that I need the surface divergence. Therefore, an idea is to use Finite Area Calculus (FAC). So, I would like to define an area tensor field and then call it at the boundary conditions. After this, I could make the calculations in order to obtain the desired sigma and get the surface divergence and also, the effective stress.



Thus, my first question is how can someone define the areaTensorField at the main solver (e.g. nonLinGeomTotalLagTotalDispSolid ). Do I need to include new Header files and if yes, which files?


Then, if this problem is solved, I believe that I can call a reference of the areaTensorField at the boundary conditions as


const faPatchField<tensor>& FP = patch().lookupPatchField<areaTensorField,tensor<(" F")

..... Calculations ....

const symmTensorField sigmaS = ...;

// Calculate surface divergence
areaVectorField areaDivSigma = fac::div(areaSigma);

vectorField Teff = areaDivSigma.internalField();



Therefore, I would like to ask if this scheme makes sense and of course, if there is any better way to do it, feedback is always welcome!

Thomas N.
physicosm is offline   Reply With Quote

Old   August 13, 2019, 12:50
Default
  #2
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Hi Thomas,

Following on from our email conversation, you can include the following header file at the top of the file where you are writing your code:
Code:
#include "faCFD.H"
This will let you use the finite area classes.

Then you can define a finite area field as, for example:
Code:
// Create finite area mesh from patch with patch index ‘patchID;
faMesh aMesh(mesh, patchID);

// Create finite area sigma field (this is only defined on the patch)
areaSymmTensorField areaSigma
(
    IOobject
    (
        “areaSigma",
        runTime().timeName(),
        mesh(),
        IOobject::MUST_READ,
        IOobject::AUTO_WRITE
    ),
    aMesh
);
I don't quite understand why a thin layer of material produces the formula (Teff + T = sigma&n) but I guess you understand this!

Philip
physicosm likes this.
bigphil is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
traction calculation in fsiFoam fuxpaul OpenFOAM Programming & Development 0 June 12, 2019 11:42
traction of a 3D cylinder OpenFOAM - Extend heru OpenFOAM 0 November 15, 2016 10:32
Can anyone give me some hint on how to make traction free boundary condition? poplar OpenFOAM 3 January 14, 2015 03:37
openfoam installation javad814 OpenFOAM 7 January 27, 2012 12:31
The effective specific heat and effective density azbr Siemens 0 March 20, 2008 10:28


All times are GMT -4. The time now is 05:38.