|
[Sponsors] |
Effective Traction at the BC (main solid4Foam) |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
August 13, 2019, 11:51 |
Effective Traction at the BC (main solid4Foam)
|
#1 |
New Member
Thomas N.
Join Date: Nov 2018
Posts: 11
Rep Power: 8 |
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. |
|
August 13, 2019, 12:50 |
|
#2 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
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" 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 ); Philip |
|
|
|
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 |