Loading [MathJax]/extensions/tex2jax.js
Apps
All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
mandel.lua File Reference

Functions

function mandel2d add_boundary_conditions (domainDisc, bStationary)
 
function mandel2d add_elem_discs (domainDisc, bStationary)
 
function mandel2d compute_p (xhat, yhat, t)
 
function mandel2d compute_ux (x, y, t)
 
function mandel2d compute_uy (x, y, t)
 
function mandel2d create_domain (numRefs, numPreRefs)
 
function mandel2d create_test_data (time)
 
function mandel2d get_char_time ()
 
function mandel2d init (kperm, poro, nu, cmedium, cfluid, csolid, volumetricweight)
 
function mandel2d interpolate_start_values (u, startTime)
 
function Mandel2dHorizDisp (x, y, t)
 
function Mandel2dPressure (x, y, t)
 
function Mandel2dVertDisp (x, y, t)
 
function Mandel3dHorizDisp (x, y, z, t)
 
function Mandel3dPressure (x, y, z, t)
 
function Mandel3dVertDisp (x, y, z, t)
 
function mandel2d post_processing (u, step, time)
 
function mandel2d set_load (Fy)
 
function new_class superClass ()
 

Function Documentation

◆ add_boundary_conditions()

function mandel2d add_boundary_conditions ( domainDisc  ,
bStationary   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :320-335

function mandel2d:add_boundary_conditions(domainDisc, bStationary)
local neumann = NeumannBoundaryFE("ux")
neumann:add(Mandel2dPressure, "TOP", "INNER")
neumann:add(Mandel2dPressure, "BOT", "INNER")
domainDisc:add(neumann)
local dirichlet = DirichletBoundary()
dirichlet:add(Mandel2dHorizDisp, "ux", "TOP, BOT")
dirichlet:add(Mandel2dVertDisp, "uy", "TOP, BOT")
dirichlet:add(0.0, "p", "RIGHT")
dirichlet:add(0.0, "p", "LEFT")
domainDisc:add(dirichlet)
function *Umax *y end
Definition channel.lua:87
function footing2D add_boundary_conditions(domainDisc, bStationary)
function Mandel2dVertDisp(x, y, t)
function Mandel2dHorizDisp(x, y, t)
function Mandel2dPressure(x, y, t)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :426-442

function mandel3d:add_boundary_conditions(domainDisc, bStationary)
local neumann = NeumannBoundaryFE("ux")
neumann:add(Mandel3dPressure, "TOP", "INNER")
neumann:add(Mandel3dPressure, "BOT", "INNER")
domainDisc:add(neumann)
local dirichlet = DirichletBoundary()
dirichlet:add(Mandel3dHorizDisp, "ux", "TOP, BOT")
dirichlet:add(0.0, "uy", "TOP, BOT")
dirichlet:add(0.0, "uy", "FRONT, BACK")
dirichlet:add(Mandel3dVertDisp, "uz", "TOP, BOT")
dirichlet:add(0.0, "p", "RIGHT, LEFT")
domainDisc:add(dirichlet)
function Mandel3dHorizDisp(x, y, z, t)
function Mandel3dPressure(x, y, z, t)
function Mandel3dVertDisp(x, y, z, t)

◆ add_elem_discs()

function mandel2d add_elem_discs ( domainDisc  ,
bStationary   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :337-339

function mandel2d:add_elem_discs(domainDisc, bStationary)
CommonAddElemDiscs(self, domainDisc, bStationary)
function footing2D add_elem_discs(domainDisc, bStationary)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :444-446

function mandel3d:add_elem_discs(domainDisc, bStationary)
MandelAddElemDiscs(self, domainDisc, bStationary)

◆ compute_p()

function mandel3d compute_p ( xhat  ,
yhat  ,
t   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :295-297

function mandel2d:compute_p(xhat, yhat, t)
return MandelComputeP(self, xhat, yhat, t)
function t
Definition channel.lua:79
function mandel2d compute_p(xhat, yhat, t)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :402-404

function mandel3d:compute_p(xhat, yhat, t)
return MandelComputeP(self, xhat, yhat, t)

◆ compute_ux()

function mandel3d compute_ux ( ,
y  ,
t   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :299-301

function mandel2d:compute_ux(x, y, t)
return MandelComputeUx(self, x, y, t)
function y
Definition channel.lua:79
function mandel2d compute_ux(x, y, t)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :406-408

function mandel3d:compute_ux(x, y, t)
return MandelComputeUx(self, x, y, t)

◆ compute_uy()

function mandel3d compute_uy ( ,
y  ,
t   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :303-305

function mandel2d:compute_uy(x, y, t)
return MandelComputeUy(self, x, y, t)
function mandel2d compute_uy(x, y, t)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :410-412

function mandel3d:compute_uy(x, y, t)
return MandelComputeUy(self, x, y, t)

◆ create_domain()

function mandel2d create_domain ( numRefs  ,
numPreRefs   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :275-278

function mandel2d:create_domain(numRefs, numPreRefs)
local dom = util.CreateAndDistributeDomain(self.gridName, numRefs, numPreRefs, self.mandatorySubsets)
return dom
parameterNumber numPreRefs
number of refinements before parallel distribution
Definition cubeincube.lua:11
function footing2D create_domain(numRefs, numPreRefs)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :382-385

function mandel3d:create_domain(numRefs, numPreRefs)
local dom = util.CreateAndDistributeDomain(self.gridName, numRefs, numPreRefs, self.mandatorySubsets)
return dom

◆ create_test_data()

function mandel3d create_test_data ( time  )

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :358-370

function mandel2d:create_test_data(time)
local testResults = {}
print ("-----------------------")
print ("time="..time)
print ("-----------------------")
testResults[time] = {}
local k;
for k=0,20 do
testResults[time][k] = self:compute_p(k/20, 0.0, time)
print ((self.a*k/20) .."\t"..testResults[time][k])
print ("-----------------------")
function mandel2d create_test_data(time)
void print(const std::string &s)
int local(bglp_vertex_descriptor p)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :466-478

function mandel3d:create_test_data(time)
local testResults = {}
print ("-----------------------")
print ("time="..time)
print ("-----------------------")
testResults[time] = {}
local k;
for k=0,20 do
testResults[time][k] = self:compute_p(k/20, 0.0, time)
print ((self.a*k/20) .."\t"..testResults[time][k])
print ("-----------------------")

◆ get_char_time()

function mandel2d get_char_time ( )

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :291-293

function mandel2d:get_char_time()
return MandelGetCharTime_(self)
function footing2D get_char_time()

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :398-400

function mandel3d:get_char_time()
return MandelGetCharTime_(self)

References dim, and porder.

◆ init()

function mandel3d init ( kperm  ,
poro  ,
nu  ,
cmedium  ,
cfluid  ,
csolid  ,
volumetricweight   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :284-288

function mandel2d:init(kperm, poro, nu, cmedium, cfluid, csolid, volumetricweight)
volumetricweight = volumetricweight or 1.0 -- kg/m^3
MandelSetModelParameters_(self, nu, poro, cmedium, cfluid, csolid, kperm*volumetricweight)
MandelInitRoots_(self)
virtual void init()
parameterNumber nu
Definition tut13_adaptive_time_integration.lua:9

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :391-395

function mandel3d:init(kperm, poro, nu, cmedium, cfluid, csolid, volumetricweight)
volumetricweight = volumetricweight or 1.0 -- kg/m^3
MandelSetModelParameters_(self, nu, poro, cmedium, cfluid, csolid, kperm*volumetricweight)
MandelInitRoots_(self)

◆ interpolate_start_values()

function mandel2d interpolate_start_values ( ,
startTime   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :341-345

function mandel2d:interpolate_start_values(u, startTime)
Interpolate(0.5*(self.qForce/self.a), u, "p", startTime)
Interpolate(0.0, u, "ux", startTime)
Interpolate(0.0, u, "uy", startTime)
function footing2D interpolate_start_values(u, startTime)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :448-453

function mandel3d:interpolate_start_values(u, startTime)
Interpolate(0.5*(self.qForce/self.a), u, "p", startTime)
Interpolate(0.0, u, "ux", startTime)
Interpolate(0.0, u, "uy", startTime)
Interpolate(0.0, u, "uz", startTime)

◆ Mandel2dHorizDisp()

function Mandel2dHorizDisp ( ,
y  ,
t   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :312-314

function Mandel2dHorizDisp(x,y,t)
return mandel2d:compute_ux(x,y,t)

◆ Mandel2dPressure()

function Mandel2dPressure ( ,
y  ,
t   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :308-310

function Mandel2dPressure(x,y,t)
return mandel2d:compute_p(x,y,t)

◆ Mandel2dVertDisp()

function Mandel2dVertDisp ( ,
y  ,
t   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :316-318

function Mandel2dVertDisp(x,y,t)
return mandel2d:compute_uy(x,y,t)

◆ Mandel3dHorizDisp()

function Mandel3dHorizDisp ( ,
y  ,
,
t   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :418-420

function Mandel3dHorizDisp(x,y,z,t)
return mandel3d:compute_ux(x,y,t)

◆ Mandel3dPressure()

function Mandel3dPressure ( ,
y  ,
,
t   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :414-416

function Mandel3dPressure(x,y,z,t)
return mandel3d:compute_p(x,y,t)

◆ Mandel3dVertDisp()

function Mandel3dVertDisp ( ,
y  ,
,
t   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :422-424

function Mandel3dVertDisp(x,y,z,t)
return mandel3d:compute_uy(x,y,t)

◆ post_processing()

function mandel2d post_processing ( ,
step  ,
time   
)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :348-356

function mandel2d:post_processing(u, step, time)
local testResults = {}
for k=0,20 do
testResults[k] = self:compute_p(k/20, 0.0, time)
print ((self.a*k/20) .."\t"..testResults[k])
function footing2D post_processing(u, step, time)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :456-464

function mandel3d:post_processing(u, step, time)
local testResults = {}
for k=0,20 do
testResults[k] = self:compute_p(k/20, 0.0, time)
print ((self.a*k/20) .."\t"..testResults[k])

◆ set_load()

function mandel3d set_load ( Fy  )

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :280-282

function mandel2d:set_load(Fy)
self.qForce = Fy
function mandel2d set_load(Fy)

location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :387-389

function mandel3d:set_load(Fy)
self.qForce = Fy

References dim, and porder.

◆ superClass()

function new_class superClass ( )

/**

/**

/** location: /home/runner/work/docs/docs/ug4/apps/poroelasticity/scripts / mandel.lua :26-128