Skip to content
Snippets Groups Projects
Commit a6454baa authored by Robert K's avatar Robert K
Browse files

[cleanup][ufl] Adjustments for new ufl version (2).

parent dbfb3c91
No related branches found
No related tags found
No related merge requests found
Pipeline #72993 passed
......@@ -79,7 +79,7 @@ class Burgers1D:
return U-V
space = Space(2,1)
x = SpatialCoordinate(space.cell())
x = SpatialCoordinate(space)
def riemanProblem(x,x0,UL,UR):
return conditional(x<x0,as_vector(UL),as_vector(UR))
......
......@@ -46,7 +46,7 @@ def run(Model, initial, x0,x1,N, endTime, name, exact,
# preparation for output
if saveStep is not None:
x = SpatialCoordinate(space.cell())
x = SpatialCoordinate(space)
tc = Constant(0.0,"time")
try:
velo = gridFunction(Model.velocity(tc,x,u_h),name="velocity")
......
from ufl import *
from dune.ufl import Space
from dune.ufl import cell
# Basic model for hyperbolic conservation law
def model(dim):
space = Space(dim,1)
x = SpatialCoordinate(space.cell())
x = SpatialCoordinate(cell(dim))
eps = None
......
from ufl import *
from dune.common import FieldVector
from dune.grid import reader
from dune.ufl import Space, GridFunction
from dune.ufl import cell, GridFunction
from dune.fem.function import gridFunction
import numpy
......@@ -121,8 +121,7 @@ def constant(dim=2,gamma=1.4):
return Model
def sod(dim=2,gamma=1.4):
x0 = 0.5
space = Space(dim,dim+2)
x = SpatialCoordinate(space)
x = SpatialCoordinate(cell(dim))
Model = CompressibleEulerReflection(dim,gamma)
Vl, Vr = [1.,0.,0.,1.], [0.125,0,0,0.1]
Model.initial=riemanProblem( Model, x[0], x0, Vl, Vr)
......@@ -143,8 +142,7 @@ def sod(dim=2,gamma=1.4):
Model.name="sod"
return Model
def radialSod1(dim=2,gamma=1.4):
space = Space(dim,dim+2)
x = SpatialCoordinate(space)
x = SpatialCoordinate(cell(dim))
Model = CompressibleEulerDirichlet(dim,gamma)
Model.initial=riemanProblem(Model, sqrt(dot(x,x)), 0.3, [1,0,0,1], [0.125,0,0,0.1])
Model.domain=[[-0.5, -0.5], [0.5, 0.5], [20, 20]]
......@@ -152,8 +150,7 @@ def radialSod1(dim=2,gamma=1.4):
Model.name="radialSod1"
return Model
def radialSod1Large(dim=2,gamma=1.4):
space = Space(dim,dim+2)
x = SpatialCoordinate(space)
x = SpatialCoordinate(cell(dim))
Model = CompressibleEulerDirichlet(dim,gamma)
Model.initial=riemanProblem( Model, sqrt(dot(x,x)), 0.3, [1,0,0,1], [0.125,0,0,0.1])
Model.domain=[[-1.5, -1.5], [1.5, 1.5], [60, 60]]
......@@ -161,8 +158,7 @@ def radialSod1Large(dim=2,gamma=1.4):
Model.name="radialSod1Large"
return Model
def radialSod2(dim=2,gamma=1.4):
space = Space(dim,dim+2)
x = SpatialCoordinate(space)
x = SpatialCoordinate(cell(dim))
Model = CompressibleEulerNeuman(dim,gamma)
Model.initial=riemanProblem( Model, sqrt(dot(x,x)), 0.3, [0.125,0,0,0.1], [1,0,0,1])
Model.domain=[[-0.5, -0.5], [0.5, 0.5], [20, 20]]
......@@ -170,8 +166,7 @@ def radialSod2(dim=2,gamma=1.4):
Model.name="radialSod2"
return Model
def radialSod3(dim=2,gamma=1.4):
space = Space(dim,dim+2)
x = SpatialCoordinate(space)
x = SpatialCoordinate(cell(dim))
Model = CompressibleEulerSlip(dim,gamma)
Model.initial=riemanProblem( Model, sqrt(dot(x,x)), 0.3, [1,0,0,1], [0.125,0,0,0.1])
Model.domain=[[-0.5, -0.5], [0.5, 0.5], [20, 20]]
......@@ -179,8 +174,7 @@ def radialSod3(dim=2,gamma=1.4):
Model.name="radialSod3"
return Model
def leVeque(dim=2,gamma=1.4):
space = Space(dim,dim+2)
x = SpatialCoordinate(space)
x = SpatialCoordinate(cell(dim))
initial = conditional(abs(x[0]-0.15)<0.05,1.2,1)
Model = CompressibleEulerDirichlet(dim,gamma)
Model.initial=Model.toCons(as_vector( [initial,0,0,initial] ))
......@@ -194,8 +188,7 @@ def vortex(dim=2,gamma=1.4):
R = 1.5 # radius of vortex
M = 0.4 # Machnumber
space = Space(dim,dim+2)
x = SpatialCoordinate(space)
x = SpatialCoordinate(cell(dim))
f = (1. - x[0]*x[0] - x[1]*x[1])/(2.*R*R)
rho = pow(1. - S*S*M*M*(gamma - 1.)*exp(2.*f)/(8.*pi*pi), 1./(gamma - 1.))
u = S*x[1]*exp(f)/(2.*pi*R)
......
from ufl import *
from dune.ufl import Space
from dune.ufl import cell
def CompressibleEuler(dim, gamma):
class Model:
......@@ -72,16 +72,14 @@ def constant(dim,gamma):
[-1, 0], [1, 0.1], [50, 5], 0.1,\
"constant", None
def sod(dim=2,gamma=1.4):
space = Space(dim,dim+2)
x = SpatialCoordinate(space.cell())
x = SpatialCoordinate(cell(dim))
Model = CompressibleEulerDirichlet(dim,gamma)
return Model,\
riemanProblem( Model, x[0], 0.5, [1,0,0,1], [0.125,0,0,0.1]),\
[0, 0], [1, 0.25], [64, 16], 0.15,\
"sod", None
def radialSod1(dim=2,gamma=1.4):
space = Space(dim,dim+2)
x = SpatialCoordinate(space.cell())
x = SpatialCoordinate(cell(dim))
Model = CompressibleEulerDirichlet(dim,gamma)
return Model,\
riemanProblem( Model, sqrt(dot(x,x)), 0.3,
......@@ -89,8 +87,7 @@ def radialSod1(dim=2,gamma=1.4):
[-0.5, -0.5], [0.5, 0.5], [20, 20], 0.25,\
"radialSod1", None
def radialSod1Large(dim=2,gamma=1.4):
space = Space(dim,dim+2)
x = SpatialCoordinate(space.cell())
x = SpatialCoordinate(cell(dim))
Model = CompressibleEulerDirichlet(dim,gamma)
return Model,\
riemanProblem( Model, sqrt(dot(x,x)), 0.3,
......@@ -98,8 +95,7 @@ def radialSod1Large(dim=2,gamma=1.4):
[-1.5, -1.5], [1.5, 1.5], [60, 60], 0.5,\
"radialSod1Large", None
def radialSod2(dim=2,gamma=1.4):
space = Space(dim,dim+2)
x = SpatialCoordinate(space.cell())
x = SpatialCoordinate(cell(dim))
Model = CompressibleEulerNeuman(dim,gamma)
return Model,\
riemanProblem( Model, sqrt(dot(x,x)), 0.3,
......@@ -107,8 +103,7 @@ def radialSod2(dim=2,gamma=1.4):
[-0.5, -0.5], [0.5, 0.5], [20, 20], 0.25,\
"radialSod2", None
def radialSod3(dim=2,gamma=1.4):
space = Space(dim,dim+2)
x = SpatialCoordinate(space.cell())
x = SpatialCoordinate(cell(dim))
Model = CompressibleEulerSlip(dim,gamma)
return Model,\
riemanProblem( Model, sqrt(dot(x,x)), 0.3,
......@@ -117,8 +112,7 @@ def radialSod3(dim=2,gamma=1.4):
"radialSod3", None
def leVeque(dim=2,gamma=1.4):
space = Space(dim,dim+2)
x = SpatialCoordinate(space.cell())
x = SpatialCoordinate(cell(dim))
initial = conditional(abs(x[0]-0.15)<0.05,1.2,1)
Model = CompressibleEulerDirichlet(dim,gamma)
return Model,\
......@@ -131,8 +125,7 @@ def vortex(dim=2,gamma=1.4):
R = 1.5 # radius of vortex
M = 0.4 # Machnumber
space = Space(dim,dim+2)
x = SpatialCoordinate(space.cell())
x = SpatialCoordinate(cell(dim))
f = (1. - x[0]*x[0] - x[1]*x[1])/(2.*R*R)
rho = pow(1. - S*S*M*M*(gamma - 1.)*exp(2.*f)/(8.*pi*pi), 1./(gamma - 1.))
u = S*x[1]*exp(f)/(2.*pi*R)
......
......@@ -50,7 +50,7 @@ def run(Model, initial, x0,x1,N, endTime, name, exact,
# preparation for output
if saveStep is not None:
x = SpatialCoordinate(space.cell())
x = SpatialCoordinate(space)
tc = Constant(0.0,"time")
try:
velo = gridFunction(Model.velocity(tc,x,u_h), name="velocity")
......
......@@ -45,7 +45,7 @@ def useGalerkinOp():
spaceName = "finitevolume"
space = create.space(spaceName, grid, dimRange=dimR)
n = FacetNormal(space.cell())
n = FacetNormal(space)
u_h = space.interpolate(initial, name='u_h')
u_h_n = u_h.copy(name="previous")
......
......@@ -93,7 +93,7 @@ class Burgers1D:
return U-V
space = Space(2,1)
x = SpatialCoordinate(space.cell())
x = SpatialCoordinate(space)
def riemanProblem(x,x0,UL,UR):
return conditional(x<x0,as_vector(UL),as_vector(UR))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment