SheafSystem  0.0.0.0
fields::field_factory Class Reference

Test case generator for fields cluster. More...

#include <field_factory.h>

FIELD_FACTORY FACET

static field_vdnew_scalar_field_1d_points (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, property_dof_function_type xfcn=0, const poset_path &xproperty_rep_path="sec_rep_descriptors/vertex_vertex_constant")
 Creates a scalar field with name xname+"_scalar_property" on a point mesh with coordinates which locate the points in xi_size array, with cooordinate bounds xlower and xupper, and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used. More...
 
static field_vdnew_scalar_field_1d_unstructured (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, property_dof_function_type xfcn=0, const poset_path &xproperty_rep_path="sec_rep_descriptors/vertex_element_dlinear")
 Creates a scalar field with name xname+"_scalar_property" on a 1D mesh of size xi_size, with cooordinate bounds xlower and xupper, and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used. More...
 
static field_vdnew_scalar_field_1d_uniform (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, property_dof_function_type xfcn=0, const poset_path &xproperty_rep_path="sec_rep_descriptors/vertex_element_dlinear")
 Creates a scalar field with name xname+"_scalar_property" on a 1D uniform mesh of size xi_size with cooordinate bounds xlower and xupper and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used. More...
 
static field_vdnew_scalar_field_2d_points (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, size_type xj_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, property_dof_function_type xfcn=0, const poset_path &xproperty_rep_path="sec_rep_descriptors/vertex_vertex_constant")
 Creates a scalar field with name xname+"_scalar_property" on a point mesh with coordinates which locate the points in an xi_size by xj_size rectangular array, with cooordinate bounds xlower and xupper, and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used. More...
 
static field_vdnew_scalar_field_2d_unstructured (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, size_type xj_size, bool xuse_quads, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, property_dof_function_type xfcn=0, const poset_path &xproperty_rep_path="sec_rep_descriptors/vertex_element_dlinear")
 Creates a scalar field with name xname+"_scalar_property" on a 2D mesh with general connectivity, but arranged in an xi_size by xj_size rectangular array of quads (xuse_quads true) or triangles(xuse_quads false), with cooordinate bounds xlower and xupper, and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used. More...
 
static field_vdnew_scalar_field_2d_uniform (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, size_type xj_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, property_dof_function_type xfcn=0, const poset_path &xproperty_rep_path="sec_rep_descriptors/vertex_element_dlinear")
 Creates a scalar field with name xname+"_scalar_property" on a 2D uniform mesh xi_size by xj_size with cooordinate bounds xlower and xupper and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used. More...
 
static field_vdnew_scalar_field_3d_points (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, size_type xj_size, size_type xk_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, property_dof_function_type xfcn=0, const poset_path &xproperty_rep_path="sec_rep_descriptors/vertex_vertex_constant")
 Creates a scalar field with name xname+"_scalar_property" on a point mesh with coordinates which locate the points in an xi_size by xj_size rectangular array, with cooordinate bounds xlower and xupper, and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used. More...
 
static field_vdnew_scalar_field_3d_unstructured (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, size_type xj_size, size_type xk_size, bool xuse_hexs, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, property_dof_function_type xfcn=0, const poset_path &xproperty_rep_path="sec_rep_descriptors/vertex_element_dlinear")
 Creates a scalar field with name xname+"_scalar_property" on a 3D mesh with general connectivity, but arranged in an xi_size by xj_size by xk_size cubic array of hexs (xuse_hexs true) or tet(xuse_hexs false), with cooordinate bounds xlower and xupper, and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used. More...
 
static field_vdnew_scalar_field_3d_uniform (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, size_type xj_size, size_type xk_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, property_dof_function_type xfcn=0, const poset_path &xproperty_rep_path="sec_rep_descriptors/vertex_element_dlinear")
 Creates a scalar field with name xname+"_scalar_property" on a 3D uniform mesh xi_size by xj_size by xk_size with cooordinate bounds xlower and xupper and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used. More...
 

JAVA WRAPPER SUPPORT FACET

static field_vdnew_scalar_field_1d_uniform (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, const std::string &xfcn)
 Creates a scalar field with name xname+"_scalar_property" on a 1D. More...
 
static field_vdnew_scalar_field_1d_unstructured (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, const std::string &xfcn)
 Creates a scalar field with name xname+"_scalar_property" on a 1D mesh of size xi_size, with cooordinate bounds xlower and xupper, and with property values given by function with name xfcn. Intended mostly for use from Java wrappers. More...
 
static field_vdnew_scalar_field_2d_unstructured (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, size_type xj_size, bool xuse_quads, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, const std::string &xfcn)
 Creates a scalar field with name xname+"_scalar_property" on a 2D mesh with general connectivity, but arranged in an xi_size by xj_size rectangular array of quads (xuse_quads true) or triangles(xuse_quads false), with cooordinate bounds xlower and xupper, and with property values given by. More...
 
static field_vdnew_scalar_field_2d_uniform (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, size_type xj_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, const std::string &xfcn)
 Creates a scalar field with name xname+"_scalar_property" on a 2D uniform mesh xi_size by xj_size with cooordinate bounds xlower and xupper and with property values given by function with name xfcn. Intended mostly for use from Java wrappers. More...
 
static field_vdnew_scalar_field_3d_unstructured (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, size_type xj_size, size_type xk_size, bool xuse_hexs, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, const std::string &xfcn)
 Creates a scalar field with name xname+"_scalar_property" on a 3D mesh with general connectivity, but arranged in an xi_size by xj_size by xk_size cubic array of hexs (xuse_hexs true) or tet(xuse_hexs false), with cooordinate bounds xlower and xupper, and with property values given by function with name xfcn. Intended mostly for use from Java wrappers. More...
 
static field_vdnew_scalar_field_3d_uniform (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, size_type xj_size, size_type xk_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, const std::string &xfcn)
 Creates a scalar field with name xname+"_scalar_property" on a 3D uniform mesh xi_size by xj_size by xk_size with cooordinate bounds xlower and xupper and with property values given by function with name xfcn. Intended mostly for use from Java wrappers. More...
 
static void linear_scalar_fcn (block< sec_vd_value_type > &xglobal_coords, block< sec_vd_dof_type > &xproperty_dofs)
 Scalar property dof function, linear so it can be fit exactly by both linear and multilinear elements. Intended to be easy to check field dofs for correctness. More...
 
static void step_fcn (block< sec_vd_value_type > &xglobal_coords, block< sec_vd_dof_type > &xproperty_dofs)
 Step property dof function. Not exactly a step, really a ramp. Test case centers coarse mesh zone on origin of coordinates, so make sure test function not symmetric (or antisymmetric). Otherwise, the error at the center may be unexpectedly small. More...
 
static void zero (block< sec_vd_value_type > &xglobal_coords, block< sec_vd_dof_type > &xproperty_dofs)
 Property dof function with value 0.0. More...
 
static property_dof_function_type property_dof_function (const std::string &xname)
 The property dof function with name xname. Intended to enable passing property_dof_function pointers from Java. More...
 
static void delete_field_spaces (field_vd *xfield, bool xdelete_coord_fiber, bool xdelete_prop_fiber)
 Deletes field xfield and all associated section spaces, section schema spaces, and base space, if they are no longer being used. If xdelete_coord_fiber delete the coordinate fiber space, if it is no longer beinbg used, and similarly for xdelete_prop_fiber. More...
 
static unstructured_blocknew_0d_point_base_space (namespace_poset &xns, const std::string &xname, size_type xi_size)
 Creates a 0D mesh of (xi_size+1) points, without any higher dimensional cells. Intended to be given coordinates that locate the points in a (xi_size+1) rectangular array. More...
 
static unstructured_blocknew_0d_point_base_space (namespace_poset &xns, const std::string &xname, size_type xi_size, size_type xj_size)
 Creates a 0D mesh of (xi_size+1)*(xj_size+1) points, without any higher dimensional cells. Intended to be given coordinates that locate the points in a (xi_size+1)x(xj_size+1) rectangular array. More...
 
static unstructured_blocknew_0d_point_base_space (namespace_poset &xns, const std::string &xname, size_type xi_size, size_type xj_size, size_type xk_size)
 Creates a 0D mesh of (xi_size+1)*(xj_size+1)*(xk_size+1) points, without any higher dimensional cells. Intended to be given coordinates that locate the points in a (xi_size+1)x(xj_size+1)x(xk_size+1) rectangular array. More...
 
static unstructured_blocknew_1d_unstructured_base_space (namespace_poset &xns, const std::string &xname, size_type xi_size)
 Creates a 1D mesh of size xi_size. More...
 
static sec_e1new_1d_unstructured_coordinates (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, unstructured_block &xbase_space, const poset_path &xrep_path="sec_rep_descriptors/vertex_element_dlinear")
 Creates 1D cooordinates with bounds xlower and xupper. More...
 
static structured_block_1dnew_1d_structured_base_space (namespace_poset &xns, const std::string &xname, size_type xi_size)
 Creates a 1D structured mesh with xi_size. More...
 
static sec_e1new_1d_uniform_coordinates (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, structured_block_1d &xbase_space)
 Creates 1D uniform coordinates with bounds xlower and xupper. More...
 
static unstructured_blocknew_2d_unstructured_base_space (namespace_poset &xns, const std::string &xname, size_type xi_size, size_type xj_size, bool xuse_quads)
 Creates a 2D mesh with general connectivity, but arranged in an xi_size by xj_size rectangular array of quads (xuse_quads true) or triangles(xuse_quads false). More...
 
static sec_e2new_2d_unstructured_coordinates (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, size_type xj_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, unstructured_block &xbase_space, const poset_path &xrep_path="sec_rep_descriptors/vertex_element_dlinear")
 Creates 2D cooordinates with bounds xlower and xupper. More...
 
static sec_e2new_2d_unstructured_coordinates (fiber_bundles_namespace &xns, const std::string &xname, size_type xpt_ct, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, unstructured_block &xbase_space, const block< sec_vd_value_type > &xpt_coords)
 Creates 2D cooordinates with bounds xlower and xupper for a mesh with general connectivity which is a Delaunay triangulation of xpt_ct points randomly generated in the unit circle. More...
 
static structured_block_2dnew_2d_structured_base_space (namespace_poset &xns, const std::string &xname, size_type xi_size, size_type xj_size)
 Creates a 2D structured mesh with xi_size by xj_size. More...
 
static sec_e2new_2d_uniform_coordinates (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, size_type xj_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, structured_block_2d &xbase_space)
 Creates 2D uniform coordinates with bounds xlower and xupper. More...
 
static unstructured_blocknew_3d_unstructured_base_space (namespace_poset &xns, const std::string &xname, size_type xi_size, size_type xj_size, size_type xk_size, bool xuse_hexs)
 Creates a 3D mesh with general connectivity, but arranged in an xi_size by xj_size by xk_size cubic array of hexs (xuse_hexs true) or tet(xuse_hexs false). More...
 
static sec_e3new_3d_unstructured_coordinates (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, size_type xj_size, size_type xk_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, unstructured_block &xbase_space, const poset_path &xrep_path="sec_rep_descriptors/vertex_element_dlinear")
 Creates 3D cooordinates with bounds xlower and xupper. More...
 
static sec_e3new_3d_unstructured_coordinates (fiber_bundles_namespace &xns, const std::string &xname, size_type xpt_ct, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, unstructured_block &xbase_space, const block< sec_vd_value_type > &xpt_coords)
 Creates 3D cooordinates with bounds xlower and xupper for a mesh with general connectivity which is a Delaunay tesselation of xpt_ct points randomly generated in the unit circle. More...
 
static structured_block_3dnew_3d_structured_base_space (namespace_poset &xns, const std::string &xname, size_type xi_size, size_type xj_size, size_type xk_size)
 Creates a 3D structured mesh with xi_size by xj_size by xk_size. More...
 
static sec_e3new_3d_uniform_coordinates (fiber_bundles_namespace &xns, const std::string &xname, size_type xi_size, size_type xj_size, size_type xk_size, block< sec_vd_value_type > &xlower, block< sec_vd_value_type > &xupper, structured_block_3d &xbase_space)
 Creates 3D uniform coordinates with bounds xlower and xupper. More...
 
static base_space_membernew_structured_base_space (namespace_poset &xns, const std::string &xbase_space_name, const block< int > &xindex_ubs)
 Constructs a structured base space in namespace xns, with name xbase_space_name, and index bounds xindex_ubs. More...
 
static sec_ednew_coord_section_handle (int xdc)
 Creates a new unattached instance of sec_e<xdc>. More...
 
static void put_1d_uniform_coord_dofs (const block< sec_vd_dof_type > &xlower, const block< sec_vd_dof_type > &xupper, sec_ed *xcoords)
 Sets the dofs for 1D uniform coordinate section xcoords to the bounds specified by xlower and xupper. More...
 
static void put_2d_uniform_coord_dofs (const block< sec_vd_dof_type > &xlower, const block< sec_vd_dof_type > &xupper, sec_ed *xcoords)
 Sets the dofs for 2D uniform coordinate section xcoords to the bounds specified by xlower and xupper. More...
 
static void put_3d_uniform_coord_dofs (const block< sec_vd_dof_type > &xlower, const block< sec_vd_dof_type > &xupper, sec_ed *xcoords)
 Sets the dofs for 3D uniform coordinate section xcoords to the bounds specified by xlower and xupper. More...
 
static void put_uniform_coord_dofs (int xdc, const block< sec_vd_dof_type > &xlower, const block< sec_vd_dof_type > &xupper, sec_ed *xcoords)
 Sets the dofs for dimension xdc uniform coordinate section xcoords to the bounds specified by xlower and xupper. More...
 
static sec_at0new_property (fiber_bundles_namespace &xns, const std::string &xname, base_space_member &xbase_space, const poset_path &xrep_path)
 Creates a property section with values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used. More...
 

Detailed Description

Test case generator for fields cluster.

Deprecated:
Use field_factory_2.

Definition at line 84 of file field_factory.h.

Member Function Documentation

◆ delete_field_spaces()

void fields::field_factory::delete_field_spaces ( field_vd xfield,
bool  xdelete_coord_fiber,
bool  xdelete_prop_fiber 
)
static

◆ linear_scalar_fcn()

void fields::field_factory::linear_scalar_fcn ( block< sec_vd_value_type > &  xglobal_coords,
block< sec_vd_dof_type > &  xproperty_dofs 
)
static

Scalar property dof function, linear so it can be fit exactly by both linear and multilinear elements. Intended to be easy to check field dofs for correctness.

Precondition
  • xglobal_coords.ct() > 0
  • xproperty_dofs.ct() == 1

Definition at line 2973 of file field_factory.cc.

References sheaf::auto_block< T, S >::ct(), and zero().

Referenced by step_fcn().

◆ new_0d_point_base_space() [1/3]

fiber_bundle::unstructured_block * fields::field_factory::new_0d_point_base_space ( namespace_poset xns,
const std::string &  xname,
size_type  xi_size 
)
staticprotected

Creates a 0D mesh of (xi_size+1) points, without any higher dimensional cells. Intended to be given coordinates that locate the points in a (xi_size+1) rectangular array.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 1521 of file field_factory.cc.

References sheaf::auto_block< T, S >::base(), sheaf::auto_block< T, S >::ct(), sheaf::poset_state_handle::get_read_write_access(), sheaf::auto_block< T, S >::push_back(), sheaf::abstract_poset_member::put_name(), sheaf::poset_state_handle::release_access(), sheaf::read_write_monitor_handle::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by delete_field_spaces(), and new_0d_point_base_space().

◆ new_0d_point_base_space() [2/3]

fiber_bundle::unstructured_block * fields::field_factory::new_0d_point_base_space ( namespace_poset xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size 
)
staticprotected

Creates a 0D mesh of (xi_size+1)*(xj_size+1) points, without any higher dimensional cells. Intended to be given coordinates that locate the points in a (xi_size+1)x(xj_size+1) rectangular array.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 1589 of file field_factory.cc.

References sheaf::auto_block< T, S >::base(), sheaf::auto_block< T, S >::ct(), sheaf::poset_state_handle::get_read_write_access(), new_0d_point_base_space(), sheaf::auto_block< T, S >::push_back(), sheaf::abstract_poset_member::put_name(), sheaf::poset_state_handle::release_access(), sheaf::read_write_monitor_handle::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_0d_point_base_space() [3/3]

fiber_bundle::unstructured_block * fields::field_factory::new_0d_point_base_space ( namespace_poset xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
size_type  xk_size 
)
staticprotected

Creates a 0D mesh of (xi_size+1)*(xj_size+1)*(xk_size+1) points, without any higher dimensional cells. Intended to be given coordinates that locate the points in a (xi_size+1)x(xj_size+1)x(xk_size+1) rectangular array.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xk_size > 0
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 1661 of file field_factory.cc.

References sheaf::auto_block< T, S >::base(), sheaf::auto_block< T, S >::ct(), sheaf::poset_state_handle::get_read_write_access(), sheaf::namespace_poset::member_poset(), new_1d_unstructured_base_space(), sheaf::auto_block< T, S >::push_back(), sheaf::abstract_poset_member::put_name(), sheaf::poset_state_handle::release_access(), sheaf::read_write_monitor_handle::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_1d_structured_base_space()

fiber_bundle::structured_block_1d * fields::field_factory::new_1d_structured_base_space ( namespace_poset xns,
const std::string &  xname,
size_type  xi_size 
)
staticprotected

Creates a 1D structured mesh with xi_size.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 1859 of file field_factory.cc.

References sheaf::poset_state_handle::get_read_write_access(), new_1d_uniform_coordinates(), sheaf::abstract_poset_member::put_name(), sheaf::poset_state_handle::release_access(), sheaf::read_write_monitor_handle::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_1d_uniform_coordinates()

fiber_bundle::sec_e1 * fields::field_factory::new_1d_uniform_coordinates ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
structured_block_1d xbase_space 
)
staticprotected

Creates 1D uniform coordinates with bounds xlower and xupper.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xlower.ct() >= 1
  • xupper.ct() >= 1
  • for(int i = ( 0 ); i < ( 1 ); ++ i ) xlower[i] < xupper[i]
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 1903 of file field_factory.cc.

References sheaf::auto_block< T, S >::ct(), sheaf::poset_state_handle::get_read_write_access(), sheaf::poset_component::path(), sheaf::read_write_monitor_handle::state_is_read_write_accessible(), and sheaf::auto_block< T, S >::ub().

Referenced by new_1d_structured_base_space().

◆ new_1d_unstructured_base_space()

fiber_bundle::unstructured_block * fields::field_factory::new_1d_unstructured_base_space ( namespace_poset xns,
const std::string &  xname,
size_type  xi_size 
)
staticprotected

Creates a 1D mesh of size xi_size.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 1741 of file field_factory.cc.

References sheaf::poset_state_handle::get_read_write_access(), new_1d_unstructured_coordinates(), sheaf::abstract_poset_member::put_name(), sheaf::poset_state_handle::release_access(), sheaf::read_write_monitor_handle::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by new_0d_point_base_space().

◆ new_1d_unstructured_coordinates()

fiber_bundle::sec_e1 * fields::field_factory::new_1d_unstructured_coordinates ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
unstructured_block xbase_space,
const poset_path xrep_path = "sec_rep_descriptors/vertex_element_dlinear" 
)
staticprotected

Creates 1D cooordinates with bounds xlower and xupper.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xlower.ct() >= 1
  • xupper.ct() >= 1
  • for(int i = ( 0 ); i < ( 1 ); ++ i ) xlower[i] < xupper[i]
  • xns.contains_poset_member(xrep_path)
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 1790 of file field_factory.cc.

References sheaf::namespace_poset::contains_poset_member(), sheaf::auto_block< T, S >::ct(), sheaf::poset_state_handle::get_read_write_access(), sheaf::poset_component::path(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by new_1d_unstructured_base_space().

◆ new_2d_structured_base_space()

fiber_bundle::structured_block_2d * fields::field_factory::new_2d_structured_base_space ( namespace_poset xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size 
)
staticprotected

Creates a 2D structured mesh with xi_size by xj_size.

Precondition
  • xns.state_is_read_write_accessible()
  • poset_path::is_valid_name(xname)
  • !xns.contains_poset(xname, false)
  • xi_size > 0
  • xj_size > 0
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 2300 of file field_factory.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::poset_state_handle::get_read_write_access(), new_2d_uniform_coordinates(), sheaf::abstract_poset_member::put_name(), sheaf::poset_state_handle::release_access(), sheaf::read_write_monitor_handle::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_2d_uniform_coordinates()

fiber_bundle::sec_e2 * fields::field_factory::new_2d_uniform_coordinates ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
structured_block_2d xbase_space 
)
staticprotected

Creates 2D uniform coordinates with bounds xlower and xupper.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xlower.ct() >= 2
  • xupper.ct() >= 2
  • for(int i = ( 0 ); i < ( 2 ); ++ i ) xlower[i] < xupper[i]
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 2347 of file field_factory.cc.

References sheaf::auto_block< T, S >::ct(), sheaf::poset_state_handle::get_read_write_access(), sheaf::poset_component::path(), sheaf::read_write_monitor_handle::state_is_read_write_accessible(), and sheaf::auto_block< T, S >::ub().

Referenced by new_2d_structured_base_space().

◆ new_2d_unstructured_base_space()

fiber_bundle::unstructured_block * fields::field_factory::new_2d_unstructured_base_space ( namespace_poset xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
bool  xuse_quads 
)
staticprotected

Creates a 2D mesh with general connectivity, but arranged in an xi_size by xj_size rectangular array of quads (xuse_quads true) or triangles(xuse_quads false).

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 1977 of file field_factory.cc.

References sheaf::poset_state_handle::get_read_write_access(), new_2d_unstructured_coordinates(), sheaf::abstract_poset_member::put_name(), sheaf::poset_state_handle::release_access(), sheaf::read_write_monitor_handle::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_2d_unstructured_coordinates() [1/2]

fiber_bundle::sec_e2 * fields::field_factory::new_2d_unstructured_coordinates ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
unstructured_block xbase_space,
const poset_path xrep_path = "sec_rep_descriptors/vertex_element_dlinear" 
)
staticprotected

Creates 2D cooordinates with bounds xlower and xupper.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xlower.ct() >= 2
  • xupper.ct() >= 2
  • for(int i = ( 0 ); i < ( 2 ); ++ i ) xlower[i] < xupper[i]
  • xns.contains_poset_member(xrep_path)
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 2031 of file field_factory.cc.

References sheaf::namespace_poset::contains_poset_member(), sheaf::auto_block< T, S >::ct(), sheaf::poset_state_handle::get_read_write_access(), sheaf::poset_component::path(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by new_2d_unstructured_base_space().

◆ new_2d_unstructured_coordinates() [2/2]

fiber_bundle::sec_e2 * fields::field_factory::new_2d_unstructured_coordinates ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xpt_ct,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
unstructured_block xbase_space,
const block< sec_vd_value_type > &  xpt_coords 
)
staticprotected

Creates 2D cooordinates with bounds xlower and xupper for a mesh with general connectivity which is a Delaunay triangulation of xpt_ct points randomly generated in the unit circle.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xpt_ct > 0
  • xlower.ct() >= 2
  • xupper.ct() >= 2
  • for(int i = ( 0 ); i < ( 2 ); ++ i ) xlower[i] < xupper[i]
  • xpt_coords.ct() >= 2*xpt_ct
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 2230 of file field_factory.cc.

References sheaf::auto_block< T, S >::ct(), sheaf::poset_state_handle::get_read_write_access(), sheaf::poset_component::path(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_3d_structured_base_space()

fiber_bundle::structured_block_3d * fields::field_factory::new_3d_structured_base_space ( namespace_poset xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
size_type  xk_size 
)
staticprotected

Creates a 3D structured mesh with xi_size by xj_size by xk_size.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xk_size > 0
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 2758 of file field_factory.cc.

References sheaf::poset_state_handle::get_read_write_access(), new_3d_uniform_coordinates(), sheaf::abstract_poset_member::put_name(), sheaf::poset_state_handle::release_access(), sheaf::read_write_monitor_handle::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_3d_uniform_coordinates()

fiber_bundle::sec_e3 * fields::field_factory::new_3d_uniform_coordinates ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
size_type  xk_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
structured_block_3d xbase_space 
)
staticprotected

Creates 3D uniform coordinates with bounds xlower and xupper.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xk_size > 0
  • xlower.ct() >= 3
  • xupper.ct() >= 3
  • for(int i = ( 0 ); i < ( 3 ); ++ i ) xlower[i] < xupper[i]
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 2807 of file field_factory.cc.

References sheaf::auto_block< T, S >::ct(), sheaf::poset_state_handle::get_read_write_access(), sheaf::poset_component::path(), sheaf::read_write_monitor_handle::state_is_read_write_accessible(), and sheaf::auto_block< T, S >::ub().

Referenced by new_3d_structured_base_space().

◆ new_3d_unstructured_base_space()

fiber_bundle::unstructured_block * fields::field_factory::new_3d_unstructured_base_space ( namespace_poset xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
size_type  xk_size,
bool  xuse_hexs 
)
staticprotected

Creates a 3D mesh with general connectivity, but arranged in an xi_size by xj_size by xk_size cubic array of hexs (xuse_hexs true) or tet(xuse_hexs false).

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xk_size > 0
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 2423 of file field_factory.cc.

References sheaf::poset_state_handle::get_read_write_access(), new_3d_unstructured_coordinates(), sheaf::abstract_poset_member::put_name(), sheaf::poset_state_handle::release_access(), sheaf::read_write_monitor_handle::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_3d_unstructured_coordinates() [1/2]

fiber_bundle::sec_e3 * fields::field_factory::new_3d_unstructured_coordinates ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
size_type  xk_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
unstructured_block xbase_space,
const poset_path xrep_path = "sec_rep_descriptors/vertex_element_dlinear" 
)
staticprotected

Creates 3D cooordinates with bounds xlower and xupper.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xk_size > 0
  • xlower.ct() >= 3
  • xupper.ct() >= 3
  • for(int i = ( 0 ); i < ( 3 ); ++ i ) xlower[i] < xupper[i]
  • xns.contains_poset_member(xrep_path)
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 2479 of file field_factory.cc.

References sheaf::namespace_poset::contains_poset_member(), sheaf::auto_block< T, S >::ct(), sheaf::poset_state_handle::get_read_write_access(), sheaf::poset_component::path(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by new_3d_unstructured_base_space().

◆ new_3d_unstructured_coordinates() [2/2]

fiber_bundle::sec_e3 * fields::field_factory::new_3d_unstructured_coordinates ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xpt_ct,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
unstructured_block xbase_space,
const block< sec_vd_value_type > &  xpt_coords 
)
staticprotected

Creates 3D cooordinates with bounds xlower and xupper for a mesh with general connectivity which is a Delaunay tesselation of xpt_ct points randomly generated in the unit circle.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xpt_ct > 0
  • xlower.ct() >= 3
  • xupper.ct() >= 3
  • for(int i = ( 0 ); i < ( 3 ); ++ i ) xlower[i] < xupper[i]
  • xpt_coords.ct() >= 3*xpt_ct
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 2687 of file field_factory.cc.

References sheaf::auto_block< T, S >::ct(), sheaf::poset_state_handle::get_read_write_access(), sheaf::poset_component::path(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_coord_section_handle()

fiber_bundle::sec_ed * fields::field_factory::new_coord_section_handle ( int  xdc)
staticprotected

Creates a new unattached instance of sec_e<xdc>.

Precondition
  • (1 <= xdc) && (xdc <= 3)
Postcondition
  • result != 0

Definition at line 3067 of file field_factory.cc.

Referenced by new_structured_base_space().

◆ new_property()

fiber_bundle::sec_at0 * fields::field_factory::new_property ( fiber_bundles_namespace xns,
const std::string &  xname,
base_space_member xbase_space,
const poset_path xrep_path 
)
staticprotected

Creates a property section with values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used.

Precondition
  • xns.state_is_read_write_accessible()
  • xns.contains_poset(xrep_path)
  • !xname.empty()
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 2886 of file field_factory.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::poset_state_handle::get_read_write_access(), sheaf::poset_component::path(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_scalar_field_1d_points()

fields::field_vd * fields::field_factory::new_scalar_field_1d_points ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
property_dof_function_type  xfcn = 0,
const poset_path xproperty_rep_path = "sec_rep_descriptors/vertex_vertex_constant" 
)
static

Creates a scalar field with name xname+"_scalar_property" on a point mesh with coordinates which locate the points in xi_size array, with cooordinate bounds xlower and xupper, and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used.

Precondition
  • xns.state_is_read_write_accessible()
  • xns.contains_poset(xproperty_rep_path)
  • !xname.empty()
  • xi_size > 0
  • xlower.ct() >= 1
  • xupper.ct() >= 1
  • for(int i = ( 0 ); i < ( 1 ); ++ i ) xlower[i] < xupper[i]
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 67 of file field_factory.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::auto_block< T, S >::ct(), fiber_bundle::sec_tuple::detach_from_state(), sheaf::poset_component::detach_from_state(), new_scalar_field_1d_unstructured(), fields::field_vd::put_property_dofs(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_scalar_field_1d_uniform() [1/2]

fields::field_vd * fields::field_factory::new_scalar_field_1d_uniform ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
property_dof_function_type  xfcn = 0,
const poset_path xproperty_rep_path = "sec_rep_descriptors/vertex_element_dlinear" 
)
static

Creates a scalar field with name xname+"_scalar_property" on a 1D uniform mesh of size xi_size with cooordinate bounds xlower and xupper and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used.

Precondition
  • xns.state_is_read_write_accessible()
  • xns.contains_poset(xproperty_rep_path)
  • !xname.empty()
  • xi_size > 0
  • xlower.ct() >= 1
  • xupper.ct() >= 1
  • for(int i = ( 0 ); i < ( 1 ); ++ i ) xlower[i] < xupper[i]
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 226 of file field_factory.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::auto_block< T, S >::ct(), fiber_bundle::sec_tuple::detach_from_state(), sheaf::poset_component::detach_from_state(), new_scalar_field_2d_points(), fields::field_vd::put_property_dofs(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by new_scalar_field_1d_unstructured().

◆ new_scalar_field_1d_uniform() [2/2]

fields::field_vd * fields::field_factory::new_scalar_field_1d_uniform ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
const std::string &  xfcn 
)
static

Creates a scalar field with name xname+"_scalar_property" on a 1D.

with property values given by function with name xfcn. Intended mostly for use from Java wrappers.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xlower.ct() >= 1
  • xupper.ct() >= 1
  • for(int i = ( 0 ); i < ( 1 ); ++ i ) xlower[i] < xupper[i]
  • (xfcn == "linear_scalar_fcn") || (xfcn == "zero") || (xfcn == "property_dof_function_example") || (xfcn == "step_fcn")
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 1019 of file field_factory.cc.

References sheaf::auto_block< T, S >::ct(), new_scalar_field_2d_unstructured(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_scalar_field_1d_unstructured() [1/2]

fields::field_vd * fields::field_factory::new_scalar_field_1d_unstructured ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
property_dof_function_type  xfcn = 0,
const poset_path xproperty_rep_path = "sec_rep_descriptors/vertex_element_dlinear" 
)
static

Creates a scalar field with name xname+"_scalar_property" on a 1D mesh of size xi_size, with cooordinate bounds xlower and xupper, and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used.

Precondition
  • xns.state_is_read_write_accessible()
  • xns.contains_poset(xproperty_rep_path)
  • !xname.empty()
  • xi_size > 0
  • xlower.ct() >= 1
  • xupper.ct() >= 1
  • for(int i = ( 0 ); i < ( 1 ); ++ i ) xlower[i] < xupper[i]
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 149 of file field_factory.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::auto_block< T, S >::ct(), fiber_bundle::sec_tuple::detach_from_state(), sheaf::poset_component::detach_from_state(), new_scalar_field_1d_uniform(), fields::field_vd::put_property_dofs(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by new_scalar_field_1d_points(), and new_scalar_field_3d_uniform().

◆ new_scalar_field_1d_unstructured() [2/2]

fields::field_vd * fields::field_factory::new_scalar_field_1d_unstructured ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
const std::string &  xfcn 
)
static

Creates a scalar field with name xname+"_scalar_property" on a 1D mesh of size xi_size, with cooordinate bounds xlower and xupper, and with property values given by function with name xfcn. Intended mostly for use from Java wrappers.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xlower.ct() >= 1
  • xupper.ct() >= 1
  • for(int i = ( 0 ); i < ( 1 ); ++ i ) xlower[i] < xupper[i]
  • (xfcn == "linear_scalar_fcn") || (xfcn == "zero") || (xfcn == "property_dof_function_example") || (xfcn == "step_fcn")
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 974 of file field_factory.cc.

References sheaf::auto_block< T, S >::ct(), new_scalar_field_1d_uniform(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_scalar_field_2d_points()

fields::field_vd * fields::field_factory::new_scalar_field_2d_points ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
property_dof_function_type  xfcn = 0,
const poset_path xproperty_rep_path = "sec_rep_descriptors/vertex_vertex_constant" 
)
static

Creates a scalar field with name xname+"_scalar_property" on a point mesh with coordinates which locate the points in an xi_size by xj_size rectangular array, with cooordinate bounds xlower and xupper, and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used.

Precondition
  • xns.state_is_read_write_accessible()
  • xns.contains_poset(xproperty_rep_path)
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xlower.ct() >= 2
  • xupper.ct() >= 2
  • for(int i = ( 0 ); i < ( 2 ); ++ i ) xlower[i] < xupper[i]
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 303 of file field_factory.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::auto_block< T, S >::ct(), fiber_bundle::sec_tuple::detach_from_state(), sheaf::poset_component::detach_from_state(), new_scalar_field_2d_unstructured(), fields::field_vd::put_property_dofs(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by new_scalar_field_1d_uniform().

◆ new_scalar_field_2d_uniform() [1/2]

fields::field_vd * fields::field_factory::new_scalar_field_2d_uniform ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
property_dof_function_type  xfcn = 0,
const poset_path xproperty_rep_path = "sec_rep_descriptors/vertex_element_dlinear" 
)
static

Creates a scalar field with name xname+"_scalar_property" on a 2D uniform mesh xi_size by xj_size with cooordinate bounds xlower and xupper and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used.

Precondition
  • xns.state_is_read_write_accessible()
  • xns.contains_poset(xproperty_rep_path)
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xlower.ct() >= 2
  • xupper.ct() >= 2
  • for(int i = ( 0 ); i < ( 2 ); ++ i ) xlower[i] < xupper[i]
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 555 of file field_factory.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::auto_block< T, S >::ct(), fiber_bundle::sec_tuple::detach_from_state(), sheaf::poset_component::detach_from_state(), new_scalar_field_3d_points(), fields::field_vd::put_property_dofs(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by new_scalar_field_2d_unstructured().

◆ new_scalar_field_2d_uniform() [2/2]

fields::field_vd * fields::field_factory::new_scalar_field_2d_uniform ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
const std::string &  xfcn 
)
static

Creates a scalar field with name xname+"_scalar_property" on a 2D uniform mesh xi_size by xj_size with cooordinate bounds xlower and xupper and with property values given by function with name xfcn. Intended mostly for use from Java wrappers.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xlower.ct() >= 2
  • xupper.ct() >= 2
  • for(int i = ( 0 ); i < ( 2 ); ++ i ) xlower[i] < xupper[i]
  • (xfcn == "linear_scalar_fcn") || (xfcn == "zero") || (xfcn == "property_dof_function_example") || (xfcn == "step_fcn")
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 1162 of file field_factory.cc.

References sheaf::auto_block< T, S >::ct(), new_scalar_field_3d_unstructured(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_scalar_field_2d_unstructured() [1/2]

fields::field_vd * fields::field_factory::new_scalar_field_2d_unstructured ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
bool  xuse_quads,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
property_dof_function_type  xfcn = 0,
const poset_path xproperty_rep_path = "sec_rep_descriptors/vertex_element_dlinear" 
)
static

Creates a scalar field with name xname+"_scalar_property" on a 2D mesh with general connectivity, but arranged in an xi_size by xj_size rectangular array of quads (xuse_quads true) or triangles(xuse_quads false), with cooordinate bounds xlower and xupper, and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used.

Precondition
  • xns.state_is_read_write_accessible()
  • xns.contains_poset(xproperty_rep_path)
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xlower.ct() >= 2
  • xupper.ct() >= 2
  • for(int i = ( 0 ); i < ( 2 ); ++ i ) xlower[i] < xupper[i]
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 388 of file field_factory.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::auto_block< T, S >::ct(), fiber_bundle::sec_tuple::detach_from_state(), sheaf::poset_component::detach_from_state(), new_scalar_field_2d_uniform(), fields::field_vd::put_property_dofs(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by new_scalar_field_1d_uniform(), new_scalar_field_2d_points(), and new_scalar_field_2d_unstructured().

◆ new_scalar_field_2d_unstructured() [2/2]

fields::field_vd * fields::field_factory::new_scalar_field_2d_unstructured ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
bool  xuse_quads,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
const std::string &  xfcn 
)
static

Creates a scalar field with name xname+"_scalar_property" on a 2D mesh with general connectivity, but arranged in an xi_size by xj_size rectangular array of quads (xuse_quads true) or triangles(xuse_quads false), with cooordinate bounds xlower and xupper, and with property values given by.

Intended mostly for use from Java wrappers.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xlower.ct() >= 2
  • xupper.ct() >= 2
  • for(int i = ( 0 ); i < ( 2 ); ++ i ) xlower[i] < xupper[i]
  • (xfcn == "linear_scalar_fcn") || (xfcn == "zero") || (xfcn == "property_dof_function_example") || (xfcn == "step_fcn")
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 1064 of file field_factory.cc.

References sheaf::auto_block< T, S >::ct(), new_scalar_field_2d_uniform(), new_scalar_field_2d_unstructured(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_scalar_field_3d_points()

fields::field_vd * fields::field_factory::new_scalar_field_3d_points ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
size_type  xk_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
property_dof_function_type  xfcn = 0,
const poset_path xproperty_rep_path = "sec_rep_descriptors/vertex_vertex_constant" 
)
static

Creates a scalar field with name xname+"_scalar_property" on a point mesh with coordinates which locate the points in an xi_size by xj_size rectangular array, with cooordinate bounds xlower and xupper, and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used.

Precondition
  • xns.state_is_read_write_accessible()
  • xns.contains_poset(xproperty_rep_path)
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xk_size > 0
  • xlower.ct() >= 3
  • xupper.ct() >= 3
  • for(int i = ( 0 ); i < ( 3 ); ++ i ) xlower[i] < xupper[i]
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 633 of file field_factory.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::auto_block< T, S >::ct(), fiber_bundle::sec_tuple::detach_from_state(), sheaf::poset_component::detach_from_state(), new_scalar_field_3d_unstructured(), fields::field_vd::put_property_dofs(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by new_scalar_field_2d_uniform().

◆ new_scalar_field_3d_uniform() [1/2]

fields::field_vd * fields::field_factory::new_scalar_field_3d_uniform ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
size_type  xk_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
property_dof_function_type  xfcn = 0,
const poset_path xproperty_rep_path = "sec_rep_descriptors/vertex_element_dlinear" 
)
static

Creates a scalar field with name xname+"_scalar_property" on a 3D uniform mesh xi_size by xj_size by xk_size with cooordinate bounds xlower and xupper and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used.

Precondition
  • xns.state_is_read_write_accessible()
  • xns.contains_poset(xproperty_rep_path)
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xk_size > 0
  • xlower.ct() >= 3
  • xupper.ct() >= 3
  • for(int i = ( 0 ); i < ( 3 ); ++ i ) xlower[i] < xupper[i]
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 888 of file field_factory.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::auto_block< T, S >::ct(), fiber_bundle::sec_tuple::detach_from_state(), sheaf::poset_component::detach_from_state(), new_scalar_field_1d_unstructured(), fields::field_vd::put_property_dofs(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by new_scalar_field_3d_unstructured().

◆ new_scalar_field_3d_uniform() [2/2]

fields::field_vd * fields::field_factory::new_scalar_field_3d_uniform ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
size_type  xk_size,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
const std::string &  xfcn 
)
static

Creates a scalar field with name xname+"_scalar_property" on a 3D uniform mesh xi_size by xj_size by xk_size with cooordinate bounds xlower and xupper and with property values given by function with name xfcn. Intended mostly for use from Java wrappers.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xk_size > 0
  • xlower.ct() >= 3
  • xupper.ct() >= 3
  • for(int i = ( 0 ); i < ( 3 ); ++ i ) xlower[i] < xupper[i]
  • (xfcn == "linear_scalar_fcn") || (xfcn == "zero") || (xfcn == "property_dof_function_example") || (xfcn == "step_fcn")
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 1310 of file field_factory.cc.

References sheaf::auto_block< T, S >::ct(), delete_field_spaces(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_scalar_field_3d_unstructured() [1/2]

fields::field_vd * fields::field_factory::new_scalar_field_3d_unstructured ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
size_type  xk_size,
bool  xuse_hexs,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
property_dof_function_type  xfcn = 0,
const poset_path xproperty_rep_path = "sec_rep_descriptors/vertex_element_dlinear" 
)
static

Creates a scalar field with name xname+"_scalar_property" on a 3D mesh with general connectivity, but arranged in an xi_size by xj_size by xk_size cubic array of hexs (xuse_hexs true) or tet(xuse_hexs false), with cooordinate bounds xlower and xupper, and with property values given by xfcn. If xfcn == 0, then field_vd::property_value_function_example is used.

Precondition
  • xns.state_is_read_write_accessible()
  • xns.contains_poset(xproperty_rep_path)
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xk_size > 0
  • xlower.ct() >= 3
  • xupper.ct() >= 3
  • for(int i = ( 0 ); i < ( 3 ); ++ i ) xlower[i] < xupper[i]
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 720 of file field_factory.cc.

References sheaf::namespace_poset::contains_poset(), sheaf::auto_block< T, S >::ct(), fiber_bundle::sec_tuple::detach_from_state(), sheaf::poset_component::detach_from_state(), new_scalar_field_3d_uniform(), fields::field_vd::put_property_dofs(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by new_scalar_field_2d_uniform(), new_scalar_field_3d_points(), and new_scalar_field_3d_unstructured().

◆ new_scalar_field_3d_unstructured() [2/2]

fields::field_vd * fields::field_factory::new_scalar_field_3d_unstructured ( fiber_bundles_namespace xns,
const std::string &  xname,
size_type  xi_size,
size_type  xj_size,
size_type  xk_size,
bool  xuse_hexs,
block< sec_vd_value_type > &  xlower,
block< sec_vd_value_type > &  xupper,
const std::string &  xfcn 
)
static

Creates a scalar field with name xname+"_scalar_property" on a 3D mesh with general connectivity, but arranged in an xi_size by xj_size by xk_size cubic array of hexs (xuse_hexs true) or tet(xuse_hexs false), with cooordinate bounds xlower and xupper, and with property values given by function with name xfcn. Intended mostly for use from Java wrappers.

Precondition
  • xns.state_is_read_write_accessible()
  • !xname.empty()
  • xi_size > 0
  • xj_size > 0
  • xk_size > 0
  • xlower.ct() >= 3
  • xupper.ct() >= 3
  • for(int i = ( 0 ); i < ( 3 ); ++ i ) xlower[i] < xupper[i]
  • (xfcn == "linear_scalar_fcn") || (xfcn == "zero") || (xfcn == "property_dof_function_example") || (xfcn == "step_fcn")
Postcondition
  • result != 0
  • result->state_is_not_read_accessible()

Definition at line 1210 of file field_factory.cc.

References sheaf::auto_block< T, S >::ct(), new_scalar_field_3d_uniform(), new_scalar_field_3d_unstructured(), fields::field_vd::state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

◆ new_structured_base_space()

fiber_bundle::base_space_member * fields::field_factory::new_structured_base_space ( namespace_poset xns,
const std::string &  xbase_space_name,
const block< int > &  xindex_ubs 
)
staticprotected

Constructs a structured base space in namespace xns, with name xbase_space_name, and index bounds xindex_ubs.

Definition at line 3023 of file field_factory.cc.

References sheaf::auto_block< T, S >::ct(), and new_coord_section_handle().

Referenced by zero().

◆ property_dof_function()

fields::property_dof_function_type fields::field_factory::property_dof_function ( const std::string &  xname)
static

The property dof function with name xname. Intended to enable passing property_dof_function pointers from Java.

Precondition
  • (xname == "linear_scalar_fcn") || (xname == "zero") || (xname == "property_dof_function_example") || (xname == "step_fcn")
Postcondition
  • result != 0

Definition at line 3314 of file field_factory.cc.

Referenced by put_uniform_coord_dofs().

◆ put_1d_uniform_coord_dofs()

void fields::field_factory::put_1d_uniform_coord_dofs ( const block< sec_vd_dof_type > &  xlower,
const block< sec_vd_dof_type > &  xupper,
sec_ed xcoords 
)
staticprotected

Sets the dofs for 1D uniform coordinate section xcoords to the bounds specified by xlower and xupper.

Definition at line 3102 of file field_factory.cc.

References put_2d_uniform_coord_dofs(), and fiber_bundle::sec_vd::put_fiber().

◆ put_2d_uniform_coord_dofs()

void fields::field_factory::put_2d_uniform_coord_dofs ( const block< sec_vd_dof_type > &  xlower,
const block< sec_vd_dof_type > &  xupper,
sec_ed xcoords 
)
staticprotected

Sets the dofs for 2D uniform coordinate section xcoords to the bounds specified by xlower and xupper.

Definition at line 3137 of file field_factory.cc.

References put_3d_uniform_coord_dofs(), and fiber_bundle::sec_vd::put_fiber().

Referenced by put_1d_uniform_coord_dofs().

◆ put_3d_uniform_coord_dofs()

void fields::field_factory::put_3d_uniform_coord_dofs ( const block< sec_vd_dof_type > &  xlower,
const block< sec_vd_dof_type > &  xupper,
sec_ed xcoords 
)
staticprotected

Sets the dofs for 3D uniform coordinate section xcoords to the bounds specified by xlower and xupper.

Definition at line 3191 of file field_factory.cc.

References fiber_bundle::sec_vd::put_fiber(), and put_uniform_coord_dofs().

Referenced by put_2d_uniform_coord_dofs().

◆ put_uniform_coord_dofs()

void fields::field_factory::put_uniform_coord_dofs ( int  xdc,
const block< sec_vd_dof_type > &  xlower,
const block< sec_vd_dof_type > &  xupper,
sec_ed xcoords 
)
staticprotected

Sets the dofs for dimension xdc uniform coordinate section xcoords to the bounds specified by xlower and xupper.

Definition at line 3276 of file field_factory.cc.

References sheaf::poset_component::get_read_write_access(), property_dof_function(), and sheaf::poset_component::release_access().

Referenced by put_3d_uniform_coord_dofs().

◆ step_fcn()

void fields::field_factory::step_fcn ( block< sec_vd_value_type > &  xglobal_coords,
block< sec_vd_dof_type > &  xproperty_dofs 
)
static

Step property dof function. Not exactly a step, really a ramp. Test case centers coarse mesh zone on origin of coordinates, so make sure test function not symmetric (or antisymmetric). Otherwise, the error at the center may be unexpectedly small.

Precondition
  • xglobal_coords.ct() >= 1
  • xproperty_dofs.ct() == 1

Definition at line 2931 of file field_factory.cc.

References sheaf::auto_block< T, S >::ct(), and linear_scalar_fcn().

◆ zero()

void fields::field_factory::zero ( block< sec_vd_value_type > &  xglobal_coords,
block< sec_vd_dof_type > &  xproperty_dofs 
)
static

Property dof function with value 0.0.

Postcondition
  • for(int i = ( 0 ); i < ( xproperty_dofs.ct() ); ++ i ) xproperty_dofs[i] == 0.0

Definition at line 3003 of file field_factory.cc.

References sheaf::auto_block< T, S >::assign(), sheaf::auto_block< T, S >::ct(), and new_structured_base_space().

Referenced by linear_scalar_fcn().


The documentation for this class was generated from the following files: