SheafSystem  0.0.0.0
fields::field_vd Class Reference

A vd-valued property as a function of global coordinates. More...

#include <field_vd.h>

Inheritance diagram for fields::field_vd:
sheaf::any fields::field_jcb fields::field_tp fields::field_jcb_ed fields::field_atp fields::field_stp fields::field_t2 fields::field_t3 fields::field_t4 fields::field_jcb_e13 fields::field_jcb_e23 fields::field_jcb_e33 fields::field_at0 fields::field_at1 fields::field_at2 fields::field_at3 fields::field_st2 fields::field_st3 fields::field_st4 fields::field_t2_e2 fields::field_t2_e3 fields::field_t3_e3 fields::field_t4_e2 fields::field_t4_e3

FIELD_VD FACET OF CLASS FIELD_VD

typedef void(* property_dof_function_type) (block< sec_vd_value_type > &xglobal_coords, block< sec_vd_dof_type > &xproperty_dofs)
 The type of the function for computing the property dofs at given global coordinates. More...
 
sec_vd_property
 The dependent variable of this field. More...
 
sec_ed_invertible_coordinates
 The independent variable of this field. More...
 
base_space_member_base_space
 The base space of this field. More...
 
 field_vd ()
 Default constructor. More...
 
 field_vd (const field_vd &xother, bool xauto_access)
 Copy constructor. More...
 
 field_vd (const sec_ed &xcoordinates, const sec_vd &xproperty, bool xauto_access)
 Create an instance with coordinates xcoordinates and property xproperty. More...
 
 field_vd (namespace_poset &xns, const poset_path &xcoordinates_path, const poset_path &xproperty_path, bool xauto_access)
 Create an instance with coordinates specified by xcoordinates_path and property specified by xproperty_path in name space xns. More...
 
virtual ~field_vd ()
 Destructor. More...
 
int dc () const
 The dimension of the coordinates (independent variable) space. More...
 
int dp () const
 The dimension of the property (dependent variable) space. More...
 
int db () const
 The dimension of the base space. More...
 
namespace_posetname_space () const
 The namespace this resides in. More...
 
sec_ed_invertiblecoordinates () const
 The independent variable of this field. More...
 
sec_vdproperty () const
 The dependent variable of this field. More...
 
base_space_memberbase_space () const
 The base space of this field. More...
 
property_disc_iteratornew_property_disc_iterator () const
 Iterator over property discretiation. More...
 
void put_property_dofs (property_dof_function_type xproperty_dofs_fcn, bool xauto_access)
 Sets the dofs of property() to values computed by xproperty_dofs_fcn. More...
 
void put_property_dofs (put_property_dofs_action &xproperty_dofs_action, bool xauto_access)
 OBSOLETE: Use put_proeprty_dofs(property_dof_function_type, bool). Sets the dofs of property() to values computed by xproperty_dofs_action. More...
 
void print_property_dofs (std::ostream &xos, property_dof_function_type xproperty_dofs_fcn, const std::string &xtitle_text, bool xzero_specified, bool xauto_access) const
 Prints the property dofs and coordinates at the property discretization points. If xproperty_dof_fcn != 0, prints the result of xproperty_dofs_fcn at each discretization point and the difference with the actual property dofs. If xzero_specified, assume the result of xproperty_dofs_fcn is zero wherever property is zero. Intended to be useful for debugging. More...
 
bool same_property_fiber_schema (const field_vd &xother, bool xauto_access) const
 True if this has the same property fiber as xother. More...
 
bool same_evaluation () const
 True if the coordinates and property sections both use the same evaluation subposet. More...
 
bool same_discretization () const
 True if the coordinates and property sections both use the same discretization subposet. More...
 
void property_at_coordinates (const vd_lite &xcoord, vd_lite &xprop) const
 The value of the property at the given global coordinates. More...
 
void property_at_coordinates (const block< sec_vd_value_type > &xcoord, block< sec_vd_value_type > &xprop) const
 The value of the property at the given global coordinates. More...
 
void property_at_coordinates (sec_vd_value_type xcoord_base[], int xcoord_ct, sec_vd_value_type xprop_base[], int xprop_ub) const
 The value of the property at the given global coordinates. More...
 
subposetembed_property (const std::string &xresult_name, name_multimap &xresult_member_names, bool xauto_access)
 Creates a decomposition of the base space such that the value of property() is constant on each member. More...
 
static void property_dof_function_example (block< sec_vd_value_type > &xglobal_coords, block< sec_vd_dof_type > &xproperty_dofs)
 Example property dof function; property value is x*1000000 + y*1000 + z, intended to be easy to check field dofs for correctness. More...
 
static void put_property_dofs (const sec_vd &xcoordinates, sec_vd &xproperty, property_dof_function_type xproperty_dofs_fcn, bool xauto_access)
 Sets the dofs of xproperty to values computed by xproperty_dofs_fcn using xcoordinates to compute the coordinates at the discretization points. More...
 
static void put_property_dofs (const sec_vd &xcoordinates, sec_vd &xproperty, put_property_dofs_action &xproperty_dofs_action, bool xauto_access)
 Sets the dofs of xproperty to values computed by xproperty_dofs_fcn using xcoordinates to compute the coordinates at the discretization points. 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...
 
 field_vd (sec_vd *xproperty, sec_ed_invertible *xcoordinates, base_space_member *xbase_space)
 Covariant constructor. More...
 

READ_WRITE_MONITOR_HANDLE FACET

virtual bool is_attached () const
 True if this handle has a state associated with it. More...
 
bool state_is_read_only_accessible () const
 True if this is attached and if the coordinates and property are accessible for read access but not for write. False is access control is disabled. More...
 
bool state_is_not_read_only_accessible () const
 True if this is attached and if the coordinates and property are not accessible for read only access or access control is disabled. More...
 
bool state_is_read_accessible () const
 True if this is attached and if the coordinates and property are accessible for read or access control is disabled. More...
 
bool state_is_not_read_accessible () const
 True if this is attached and if the coordinates and property are not accessible for read or access control is disabled. More...
 
bool state_is_read_write_accessible (bool xbase_access=false) const
 True if this is attached and if coordinates(), property() and (if xbase access) base_space() are accessible for read and write or access control is disabled. More...
 
bool state_is_not_read_write_accessible (bool xbase_access=false) const
 True if this is not attached or if coordinates(), property() or (if xbase access) base_space() are not accessible for read and write or access control is disabled. More...
 
int access_request_depth () const
 The number of times access has been requested and granted without being released. More...
 
virtual void get_read_access () const
 Get read access to the state associated with this. More...
 
virtual void get_read_write_access (bool xbase_access, bool xrelease_read_only_access)
 Get read write access to the coordinates and property sections, which implies read access to the base space. If xbase_access, get read write access to the base space as well. If release_read_only_access is requested, read only access will be released then read_write_access will be requested, finally the same level of read_access as before will be requested. More...
 
virtual void release_access (bool xall=false) const
 Release access. If xall is true, release all levels of access. Otherwise, release one level of access. More...
 
bool state_is_modified () const
 True if write access has been granted and released since the last call to clear_state_is_modified(). More...
 
void clear_state_is_modified ()
 Sets the state_is_modified floag to false. More...
 
static bool access_control_disabled ()
 True if access control mechanism is disabled. Default value is enabled (false) and access is controlled by the per-thread access control functions. Disabled (true) is equivalent to having read-write access at all times, irrespective of any access control requests. Synonym for read_write_monitor::access_control_disabled(). More...
 
static void enable_access_control ()
 Enables access control. Synonym for read_write_monitor::enable_access_control(). Should only be invoked once at beginning of a program, before any other SheafSystem calls. Once enabled, access control can not be disabled. More...
 

ANY FACET

virtual const std::string & class_name () const
 The name of this class. More...
 
virtual bool is_ancestor_of (const any *xother) const
 Conformance test; true if other conforms to this. More...
 
virtual field_vdclone () const
 Virtual constructor, makes a new instance of the same type as this. More...
 
virtual field_vdoperator= (const field_vd &xother)
 Assignment operator. More...
 
field_vdoperator= (const sec_vd &xsection)
 Assignment operator. More...
 
field_vdoperator= (const vd &xfiber)
 Assignment operator. More...
 
field_vdoperator= (const vd_lite &xfiber)
 Assignment operator. More...
 
virtual bool invariant () const
 Class invariant. More...
 
static const std::string & static_class_name ()
 The name of this class. More...
 

Additional Inherited Members

- Public Member Functions inherited from sheaf::any
bool is_same_type (const any *other) const
 True if other is the same type as this. More...
 
virtual ~any ()
 Destructor. More...
 
bool invariant_check () const
 True if invariant checking is enabled. More...
 
void enable_invariant_check () const
 Enable invariant checking. More...
 
void disable_invariant_check () const
 Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More...
 
int disable_invariance_check_request_depth () const
 Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 

Detailed Description

A vd-valued property as a function of global coordinates.

Definition at line 69 of file field_vd.h.

Member Typedef Documentation

◆ property_dof_function_type

typedef void(* fields::field_vd::property_dof_function_type) (block< sec_vd_value_type > &xglobal_coords, block< sec_vd_dof_type > &xproperty_dofs)

The type of the function for computing the property dofs at given global coordinates.

Definition at line 155 of file field_vd.h.

Constructor & Destructor Documentation

◆ field_vd() [1/5]

fields::field_vd::field_vd ( )

Default constructor.

Postcondition
  • !is_attached()

Definition at line 61 of file field_vd.cc.

Referenced by clone(), and field_vd().

◆ field_vd() [2/5]

fields::field_vd::field_vd ( const field_vd xother,
bool  xauto_access 
)

Copy constructor.

Precondition
  • xauto_access || !xother.is_attached() || \ xother.state_is_read_accessible()
Postcondition

Definition at line 83 of file field_vd.cc.

References _base_space, _coordinates, _property, base_space(), geometry::sec_ed_invertible::clone(), fiber_bundle::sec_vd::clone(), fiber_bundle::base_space_member::clone(), coordinates(), field_vd(), is_attached(), and property().

◆ field_vd() [3/5]

fields::field_vd::field_vd ( const sec_ed xcoordinates,
const sec_vd xproperty,
bool  xauto_access 
)

Create an instance with coordinates xcoordinates and property xproperty.

Precondition
  • xcoordinates.is_attached()
  • xproperty.is_attached()
  • xauto_access || xcoordinates.state_is_read_accessible()
  • xauto_access || xproperty.state_is_read_accessible()
Hack:
schema().base_space() isn't a base_space_member, so we can't clone it.
Postcondition

Definition at line 110 of file field_vd.cc.

References fiber_bundle::section_space_schema_member::base_space(), fiber_bundle::sec_vd::clone(), field_vd(), sheaf::poset_component::get_read_access(), sheaf::poset_component::is_attached(), sheaf::poset_component::release_access(), fiber_bundle::sec_rep_space_member::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ field_vd() [4/5]

fields::field_vd::field_vd ( namespace_poset xns,
const poset_path xcoordinates_path,
const poset_path xproperty_path,
bool  xauto_access 
)

Create an instance with coordinates specified by xcoordinates_path and property specified by xproperty_path in name space xns.

Precondition
  • xauto_access || xns.state_is_read_accessible()
  • xns.contains_poset_member(xcoordinates_path)
  • xns.contains_poset_member(xproperty_path)
Issue:
how to we create the specific section type for the property?
Hack:
schema().base_space() isn't a base_space_member, so we can't clone it.
Postcondition

Definition at line 156 of file field_vd.cc.

References sheaf::namespace_poset::contains_poset_member(), field_vd(), sheaf::namespace_poset::get_read_access(), sheaf::namespace_poset::member_poset(), sheaf::poset_component::release_access(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ ~field_vd()

fields::field_vd::~field_vd ( )
virtual

◆ field_vd() [5/5]

fields::field_vd::field_vd ( sec_vd xproperty,
sec_ed_invertible xcoordinates,
base_space_member xbase_space 
)
protected

Covariant constructor.

Definition at line 214 of file field_vd.cc.

References ~field_vd().

Member Function Documentation

◆ access_control_disabled()

bool fields::field_vd::access_control_disabled ( )
static

True if access control mechanism is disabled. Default value is enabled (false) and access is controlled by the per-thread access control functions. Disabled (true) is equivalent to having read-write access at all times, irrespective of any access control requests. Synonym for read_write_monitor::access_control_disabled().

Issue:
this class needs the public interface of read_write_monitor_handle, but it can't inherit it, because, since it has two state objects, not one, it can't support the private state_obj() method. Nor are the member function implementations in read_write_monitor_handle which use state_obj() valid for this class. What we need is an abstract class that introduces just the public interface.

Definition at line 1259 of file field_vd.cc.

References sheaf::read_write_monitor::access_control_disabled(), and enable_access_control().

Referenced by delete_field_spaces(), enable_access_control(), release_access(), state_is_not_read_accessible(), state_is_not_read_only_accessible(), state_is_not_read_write_accessible(), state_is_read_accessible(), state_is_read_only_accessible(), and state_is_read_write_accessible().

◆ access_request_depth()

int fields::field_vd::access_request_depth ( ) const

◆ base_space()

fiber_bundle::base_space_member & fields::field_vd::base_space ( ) const

The base space of this field.

Definition at line 373 of file field_vd.cc.

References _base_space, and new_property_disc_iterator().

Referenced by fields::body_builder::build(), fields::body_builder::build_pa(), delete_field_spaces(), fields::field_factory::delete_field_spaces(), embed_property(), fields::field_at0::field_at0(), fields::field_at1::field_at1(), fields::field_at2::field_at2(), fields::field_at2_e2::field_at2_e2(), fields::field_at2_e3::field_at2_e3(), fields::field_at3::field_at3(), fields::field_at3_e3::field_at3_e3(), fields::field_atp::field_atp(), fields::field_e1::field_e1(), fields::field_e1_uniform::field_e1_uniform(), fields::field_e2::field_e2(), fields::field_e2_uniform::field_e2_uniform(), fields::field_e3::field_e3(), fields::field_e3_uniform::field_e3_uniform(), fields::field_e4::field_e4(), fields::field_ed::field_ed(), fields::field_eval_iterator::field_eval_iterator(), fields::field_jcb::field_jcb(), fields::field_jcb_e13::field_jcb_e13(), fields::field_jcb_e23::field_jcb_e23(), fields::field_jcb_e33::field_jcb_e33(), fields::field_jcb_ed::field_jcb_ed(), fields::field_met::field_met(), fields::field_met_e1::field_met_e1(), fields::field_met_e2::field_met_e2(), fields::field_met_e3::field_met_e3(), fields::field_met_ed::field_met_ed(), fields::field_refinement_buffer::field_refinement_buffer(), fields::field_st2::field_st2(), fields::field_st2_e2::field_st2_e2(), fields::field_st2_e3::field_st2_e3(), fields::field_st3::field_st3(), fields::field_st3_e3::field_st3_e3(), fields::field_st4::field_st4(), fields::field_st4_e2::field_st4_e2(), fields::field_st4_e3::field_st4_e3(), fields::field_stp::field_stp(), fields::field_t2::field_t2(), fields::field_t2_e2::field_t2_e2(), fields::field_t2_e3::field_t2_e3(), fields::field_t3::field_t3(), fields::field_t3_e3::field_t3_e3(), fields::field_t4::field_t4(), fields::field_t4_e2::field_t4_e2(), fields::field_t4_e3::field_t4_e3(), fields::field_tp::field_tp(), field_vd(), get_read_write_access(), fields::property_disc_iterator::initialize_iteration(), fields::field_e3::invariant(), fields::field_met_ed::invariant(), fields::field_e3_uniform::invariant(), fields::field_met_e3::invariant(), fields::field_e2_uniform::invariant(), fields::field_met_e2::invariant(), fields::field_st4::invariant(), fields::field_atp::invariant(), fields::field_e2::invariant(), fields::field_t4_e2::invariant(), fields::field_st2_e3::invariant(), fields::field_e4::invariant(), fields::field_stp::invariant(), fields::field_at3_e3::invariant(), fields::field_jcb_e23::invariant(), fields::field_ed::invariant(), fields::field_e1::invariant(), fields::field_jcb_e33::invariant(), fields::field_st4_e3::invariant(), fields::field_at2::invariant(), fields::field_e1_uniform::invariant(), fields::field_st4_e2::invariant(), fields::field_t4_e3::invariant(), fields::field_st2_e2::invariant(), fields::field_t3_e3::invariant(), fields::field_at2_e3::invariant(), fields::field_st3_e3::invariant(), fields::field_t2_e2::invariant(), fields::field_at3::invariant(), fields::field_tp::invariant(), fields::field_at1::invariant(), fields::field_t3::invariant(), fields::field_met_e1::invariant(), fields::field_t2_e3::invariant(), fields::field_st3::invariant(), fields::field_at2_e2::invariant(), fields::field_t4::invariant(), fields::field_jcb::invariant(), fields::field_jcb_ed::invariant(), fields::field_met::invariant(), fields::field_st2::invariant(), fields::field_t2::invariant(), fields::field_jcb_e13::invariant(), fields::field_at0::invariant(), invariant(), fields::body_factory::new_3d_uniform_bodies(), operator=(), property(), fields::property_disc_iterator_1_1::property_disc_iterator_1_1(), fields::property_disc_iterator_1_2::property_disc_iterator_1_2(), fields::property_disc_iterator_1_3::property_disc_iterator_1_3(), fields::property_disc_iterator_4_2::property_disc_iterator_4_2(), fields::property_disc_iterator_4_3::property_disc_iterator_4_3(), fields::refining_section_pusher::push(), fields::field_refiner::refine(), state_is_not_read_write_accessible(), and state_is_read_write_accessible().

◆ class_name()

◆ clear_state_is_modified()

void fields::field_vd::clear_state_is_modified ( )

Sets the state_is_modified floag to false.

Precondition
Postcondition
  • !state_is_modified()

Definition at line 1650 of file field_vd.cc.

References _coordinates, _property, class_name(), sheaf::read_write_monitor_handle::clear_state_is_modified(), is_attached(), and state_is_modified().

Referenced by state_is_modified().

◆ clone()

◆ coordinates()

fields::sec_ed_invertible & fields::field_vd::coordinates ( ) const

The independent variable of this field.

Definition at line 339 of file field_vd.cc.

References _coordinates, and property().

Referenced by delete_field_spaces(), fields::field_factory::delete_field_spaces(), fields::field_at0::field_at0(), fields::field_at1::field_at1(), fields::field_at2::field_at2(), fields::field_at2_e2::field_at2_e2(), fields::field_at2_e3::field_at2_e3(), fields::field_at3::field_at3(), fields::field_at3_e3::field_at3_e3(), fields::field_atp::field_atp(), fields::field_e1::field_e1(), fields::field_e1_uniform::field_e1_uniform(), fields::field_e2::field_e2(), fields::field_e2_uniform::field_e2_uniform(), fields::field_e3::field_e3(), fields::field_e3_uniform::field_e3_uniform(), fields::field_e4::field_e4(), fields::field_ed::field_ed(), fields::field_eval_iterator::field_eval_iterator(), fields::field_jcb::field_jcb(), fields::field_jcb_e13::field_jcb_e13(), fields::field_jcb_e23::field_jcb_e23(), fields::field_jcb_e33::field_jcb_e33(), fields::field_jcb_ed::field_jcb_ed(), fields::field_met::field_met(), fields::field_met_e1::field_met_e1(), fields::field_met_e2::field_met_e2(), fields::field_met_e3::field_met_e3(), fields::field_met_ed::field_met_ed(), fields::field_refinement_buffer::field_refinement_buffer(), fields::field_st2::field_st2(), fields::field_st2_e2::field_st2_e2(), fields::field_st2_e3::field_st2_e3(), fields::field_st3::field_st3(), fields::field_st3_e3::field_st3_e3(), fields::field_st4::field_st4(), fields::field_st4_e2::field_st4_e2(), fields::field_st4_e3::field_st4_e3(), fields::field_stp::field_stp(), fields::field_t2::field_t2(), fields::field_t2_e2::field_t2_e2(), fields::field_t2_e3::field_t2_e3(), fields::field_t3::field_t3(), fields::field_t3_e3::field_t3_e3(), fields::field_t4::field_t4(), fields::field_t4_e2::field_t4_e2(), fields::field_t4_e3::field_t4_e3(), fields::field_tp::field_tp(), field_vd(), fields::field_refinement_buffer::gather_coordinate_dofs(), fields::property_disc_iterator::initialize_iteration(), fields::field_st4_e3::invariant(), fields::field_t2::invariant(), fields::field_t4_e3::invariant(), fields::field_st2_e3::invariant(), fields::field_ed::invariant(), fields::field_st3::invariant(), fields::field_met::invariant(), fields::field_atp::invariant(), fields::field_st3_e3::invariant(), fields::field_st4::invariant(), fields::field_t4::invariant(), fields::field_at2_e2::invariant(), fields::field_st2_e2::invariant(), fields::field_st4_e2::invariant(), fields::field_jcb::invariant(), fields::field_e1::invariant(), fields::field_stp::invariant(), fields::field_t4_e2::invariant(), fields::field_t3::invariant(), fields::field_at1::invariant(), fields::field_met_ed::invariant(), fields::field_t2_e2::invariant(), fields::field_jcb_e23::invariant(), fields::field_jcb_e33::invariant(), fields::field_met_e2::invariant(), fields::field_e1_uniform::invariant(), fields::field_t3_e3::invariant(), fields::field_at2_e3::invariant(), fields::field_jcb_ed::invariant(), fields::field_e2::invariant(), fields::field_t2_e3::invariant(), fields::field_tp::invariant(), fields::field_at0::invariant(), fields::field_met_e1::invariant(), fields::field_e2_uniform::invariant(), fields::field_at3::invariant(), fields::field_met_e3::invariant(), fields::field_e3::invariant(), fields::field_jcb_e13::invariant(), fields::field_at2::invariant(), fields::field_e3_uniform::invariant(), fields::field_at3_e3::invariant(), fields::field_st2::invariant(), fields::field_e4::invariant(), invariant(), is_attached(), name_space(), new_property_disc_iterator(), operator=(), print_property_dofs(), property_at_coordinates(), fields::property_disc_iterator_1_1::property_disc_iterator_1_1(), fields::property_disc_iterator_1_2::property_disc_iterator_1_2(), fields::property_disc_iterator_1_3::property_disc_iterator_1_3(), fields::property_disc_iterator_4_2::property_disc_iterator_4_2(), fields::property_disc_iterator_4_3::property_disc_iterator_4_3(), fields::refining_section_pusher::push(), put_property_dofs(), fields::field_refiner::refine(), fields::zone_centered_tet_refiner::refine_coordinates(), fields::zone_centered_segment_refiner::refine_coordinates(), fields::zone_centered_triangle_refiner::refine_coordinates(), fields::edge_centered_polygon_refiner::refine_coordinates(), fields::field_refinement_buffer::reserve_coord_fiber(), same_discretization(), same_evaluation(), fields::section_pusher::section_pusher(), state_is_modified(), state_is_not_read_accessible(), state_is_not_read_only_accessible(), state_is_not_read_write_accessible(), state_is_read_accessible(), state_is_read_only_accessible(), and state_is_read_write_accessible().

◆ db()

int fields::field_vd::db ( ) const

The dimension of the base space.

Precondition
Hack:
trap for possible error in db due to base space rep incompatibility.
Postcondition
  • result > 0

Definition at line 302 of file field_vd.cc.

References _property, fiber_bundle::section_space_schema_member::db(), name_space(), fiber_bundle::sec_rep_space_member::schema(), and state_is_read_accessible().

Referenced by dp().

◆ dc()

◆ delete_field_spaces()

◆ dp()

◆ embed_property()

sheaf::subposet * fields::field_vd::embed_property ( const std::string &  xresult_name,
name_multimap xresult_member_names,
bool  xauto_access 
)

Creates a decomposition of the base space such that the value of property() is constant on each member.

Hack:
This function belongs in sec_at0, but is put here temporarily to avoid problems merging with branch refactor-8.
Precondition
  • xauto_access || state_is_read_write_accessible(true)
  • !base_space().host()->includes_subposet(xresult_name, false)
  • property().schema().rep().name() == "element_element_constant"
  • -unexecutable( "Lower cover of property() base space contains only zones." )
  • -unexecutable( "property value positive" )
Postcondition
  • result != 0
  • result->name() == xresult_name
  • base_space().host()->includes_subposet(xresult_name, false)

Definition at line 972 of file field_vd.cc.

References _property, base_space(), fiber_bundle::section_space_schema_member::base_space(), fiber_bundle::tuple::clone(), sheaf::subposet::contains_member(), delete_field_spaces(), sheaf::poset_state_handle::delete_link(), fiber_bundle::section_space_schema_member::evaluation(), fiber_bundle::sec_vd::fiber_prototype(), sheaf::poset_state_handle::first_cover_member(), fiber_bundle::sec_vd::get_fiber(), get_read_write_access(), sheaf::poset_component::host(), sheaf::index_space_handle::hub_pod(), sheaf::poset_component::index(), sheaf::scattered_insertion_index_space_handle::insert(), sheaf::subposet::insert_member(), sheaf::is_valid(), sheaf::LOWER, sheaf::poset_state_handle::member_hub_id_space(), sheaf::name_multimap::name(), sheaf::subposet::name(), sheaf::subposet::new_id_space(), sheaf::poset_state_handle::new_link(), sheaf::poset_state_handle::new_member(), sheaf::scoped_index::pod(), property(), sheaf::poset_state_handle::put_member_name(), sheaf::subposet::put_name(), release_access(), fiber_bundle::sec_rep_space_member::schema(), and state_is_read_write_accessible().

Referenced by property_at_coordinates().

◆ enable_access_control()

void fields::field_vd::enable_access_control ( )
static

Enables access control. Synonym for read_write_monitor::enable_access_control(). Should only be invoked once at beginning of a program, before any other SheafSystem calls. Once enabled, access control can not be disabled.

Postcondition
  • !access_control_disabled()

Definition at line 1288 of file field_vd.cc.

References access_control_disabled(), sheaf::read_write_monitor::enable_access_control(), and is_attached().

Referenced by access_control_disabled().

◆ get_read_access()

void fields::field_vd::get_read_access ( ) const
virtual

Get read access to the state associated with this.

Precondition
Postcondition

Definition at line 1516 of file field_vd.cc.

References _base_space, _coordinates, _property, access_request_depth(), sheaf::poset_component::get_read_access(), get_read_write_access(), is_attached(), and state_is_read_accessible().

Referenced by access_request_depth(), delete_field_spaces(), fields::field_factory::delete_field_spaces(), fields::body_factory::new_3d_uniform_bodies(), print_property_dofs(), fields::refining_section_pusher::push(), fields::push(), fields::field_jcb_ed::same_property_fiber_schema(), fields::field_tp::same_property_fiber_schema(), fields::field_t4_e3::same_property_fiber_schema(), fields::field_t4_e2::same_property_fiber_schema(), fields::field_t4::same_property_fiber_schema(), fields::field_t3_e3::same_property_fiber_schema(), fields::field_t3::same_property_fiber_schema(), fields::field_t2_e3::same_property_fiber_schema(), fields::field_t2_e2::same_property_fiber_schema(), fields::field_t2::same_property_fiber_schema(), fields::field_stp::same_property_fiber_schema(), fields::field_st4_e3::same_property_fiber_schema(), fields::field_st4_e2::same_property_fiber_schema(), fields::field_st4::same_property_fiber_schema(), fields::field_st3_e3::same_property_fiber_schema(), fields::field_st3::same_property_fiber_schema(), fields::field_st2_e3::same_property_fiber_schema(), fields::field_st2_e2::same_property_fiber_schema(), fields::field_st2::same_property_fiber_schema(), fields::field_met_ed::same_property_fiber_schema(), fields::field_met_e3::same_property_fiber_schema(), fields::field_met_e2::same_property_fiber_schema(), fields::field_met_e1::same_property_fiber_schema(), fields::field_at0::same_property_fiber_schema(), fields::field_e1_uniform::same_property_fiber_schema(), fields::field_jcb_e33::same_property_fiber_schema(), fields::field_jcb_e23::same_property_fiber_schema(), fields::field_jcb_e13::same_property_fiber_schema(), fields::field_jcb::same_property_fiber_schema(), fields::field_atp::same_property_fiber_schema(), fields::field_at3_e3::same_property_fiber_schema(), fields::field_e4::same_property_fiber_schema(), fields::field_e3_uniform::same_property_fiber_schema(), fields::field_e3::same_property_fiber_schema(), fields::field_e2_uniform::same_property_fiber_schema(), fields::field_at1::same_property_fiber_schema(), fields::field_at2_e2::same_property_fiber_schema(), fields::field_e1::same_property_fiber_schema(), fields::field_ed::same_property_fiber_schema(), fields::field_at2::same_property_fiber_schema(), fields::field_at3::same_property_fiber_schema(), fields::field_met::same_property_fiber_schema(), fields::field_at2_e3::same_property_fiber_schema(), fields::field_e2::same_property_fiber_schema(), same_property_fiber_schema(), and fields::section_pusher::section_pusher().

◆ get_read_write_access()

void fields::field_vd::get_read_write_access ( bool  xbase_access,
bool  xrelease_read_only_access 
)
virtual

Get read write access to the coordinates and property sections, which implies read access to the base space. If xbase_access, get read write access to the base space as well. If release_read_only_access is requested, read only access will be released then read_write_access will be requested, finally the same level of read_access as before will be requested.

Precondition
Postcondition

Definition at line 1550 of file field_vd.cc.

References _base_space, _coordinates, _property, access_request_depth(), base_space(), sheaf::poset_component::get_read_access(), sheaf::poset_component::get_read_write_access(), is_attached(), release_access(), state_is_not_read_only_accessible(), and state_is_read_write_accessible().

Referenced by embed_property(), get_read_access(), fields::refining_section_pusher::push(), fields::push(), put_property_dofs(), and fields::field_refiner::refine().

◆ invariant()

bool fields::field_vd::invariant ( ) const
virtual

Class invariant.

Invariant

Reimplemented from sheaf::any.

Reimplemented in fields::field_at0, fields::field_at1, fields::field_at2, fields::field_at2_e2, fields::field_at2_e3, fields::field_at3, fields::field_at3_e3, fields::field_atp, fields::field_e1, fields::field_e1_uniform, fields::field_e2, fields::field_e2_uniform, fields::field_e3, fields::field_e3_uniform, fields::field_e4, fields::field_ed, fields::field_jcb, fields::field_jcb_e13, fields::field_jcb_e23, fields::field_jcb_e33, fields::field_jcb_ed, fields::field_met, fields::field_met_e1, fields::field_met_e2, fields::field_met_e3, fields::field_met_ed, fields::field_st2, fields::field_st2_e2, fields::field_st2_e3, fields::field_st3, fields::field_st3_e3, fields::field_st4, fields::field_st4_e2, fields::field_st4_e3, fields::field_stp, fields::field_t2, fields::field_t2_e2, fields::field_t2_e3, fields::field_t3, fields::field_t3_e3, fields::field_t4, fields::field_t4_e2, fields::field_t4_e3, and fields::field_tp.

Definition at line 1862 of file field_vd.cc.

References base_space(), coordinates(), sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), sheaf::any::invariant(), sheaf::any::invariant_check(), property(), fields::push(), and state_is_read_accessible().

Referenced by fields::field_jcb::invariant(), fields::field_tp::invariant(), and operator=().

◆ is_ancestor_of()

◆ is_attached()

bool fields::field_vd::is_attached ( ) const
virtual

True if this handle has a state associated with it.

Postcondition

Definition at line 1311 of file field_vd.cc.

References _coordinates, _property, coordinates(), sheaf::poset_component::is_attached(), property(), and state_is_read_only_accessible().

Referenced by access_request_depth(), clear_state_is_modified(), enable_access_control(), fields::field_at0::field_at0(), fields::field_at1::field_at1(), fields::field_at2::field_at2(), fields::field_at2_e2::field_at2_e2(), fields::field_at2_e3::field_at2_e3(), fields::field_at3::field_at3(), fields::field_at3_e3::field_at3_e3(), fields::field_atp::field_atp(), fields::field_e1::field_e1(), fields::field_e1_uniform::field_e1_uniform(), fields::field_e2::field_e2(), fields::field_e2_uniform::field_e2_uniform(), fields::field_e3::field_e3(), fields::field_e3_uniform::field_e3_uniform(), fields::field_e4::field_e4(), fields::field_ed::field_ed(), fields::field_jcb::field_jcb(), fields::field_jcb_e13::field_jcb_e13(), fields::field_jcb_e23::field_jcb_e23(), fields::field_jcb_e33::field_jcb_e33(), fields::field_jcb_ed::field_jcb_ed(), fields::field_met::field_met(), fields::field_met_e1::field_met_e1(), fields::field_met_e2::field_met_e2(), fields::field_met_e3::field_met_e3(), fields::field_met_ed::field_met_ed(), fields::field_st2::field_st2(), fields::field_st2_e2::field_st2_e2(), fields::field_st2_e3::field_st2_e3(), fields::field_st3::field_st3(), fields::field_st3_e3::field_st3_e3(), fields::field_st4::field_st4(), fields::field_st4_e2::field_st4_e2(), fields::field_st4_e3::field_st4_e3(), fields::field_stp::field_stp(), fields::field_t2::field_t2(), fields::field_t2_e2::field_t2_e2(), fields::field_t2_e3::field_t2_e3(), fields::field_t3::field_t3(), fields::field_t3_e3::field_t3_e3(), fields::field_t4::field_t4(), fields::field_t4_e2::field_t4_e2(), fields::field_t4_e3::field_t4_e3(), fields::field_tp::field_tp(), field_vd(), get_read_access(), get_read_write_access(), fields::operator>>(), print_property_dofs(), fields::push(), put_property_dofs(), state_is_modified(), state_is_not_read_accessible(), state_is_not_read_only_accessible(), state_is_not_read_write_accessible(), state_is_read_accessible(), state_is_read_only_accessible(), and state_is_read_write_accessible().

◆ name_space()

sheaf::namespace_poset & fields::field_vd::name_space ( ) const

◆ new_property_disc_iterator()

fields::property_disc_iterator * fields::field_vd::new_property_disc_iterator ( ) const

Iterator over property discretiation.

Precondition
Postcondition
  • result != 0
  • result->coordinates_schema().is_same_state(&coordinates().schema())
  • result->property_schema().is_same_state(&property().schema())

Definition at line 389 of file field_vd.cc.

References coordinates(), fields::property_disc_iterator::coordinates_schema(), sheaf::poset_component::is_same_state(), fields::property_disc_iterator::new_property_disc_iterator(), property(), property_dof_function_example(), fields::property_disc_iterator::property_schema(), and state_is_read_accessible().

Referenced by base_space().

◆ operator=() [1/4]

fields::field_vd & fields::field_vd::operator= ( const field_vd xother)
virtual

Assignment operator.

Precondition
  • xother.state_is_read_accessible()
Postcondition

Reimplemented in fields::field_at0, fields::field_at1, fields::field_at2, fields::field_at2_e2, fields::field_at2_e3, fields::field_at3, fields::field_at3_e3, fields::field_atp, fields::field_e1, fields::field_e1_uniform, fields::field_e2, fields::field_e2_uniform, fields::field_e3, fields::field_e3_uniform, fields::field_e4, fields::field_ed, fields::field_jcb, fields::field_jcb_e13, fields::field_jcb_e23, fields::field_jcb_e33, fields::field_jcb_ed, fields::field_met, fields::field_met_e1, fields::field_met_e2, fields::field_met_e3, fields::field_met_ed, fields::field_st2, fields::field_st2_e2, fields::field_st2_e3, fields::field_st3, fields::field_st3_e3, fields::field_st4, fields::field_st4_e2, fields::field_st4_e3, fields::field_stp, fields::field_t2, fields::field_t2_e2, fields::field_t2_e3, fields::field_t3, fields::field_t3_e3, fields::field_t4, fields::field_t4_e2, fields::field_t4_e3, and fields::field_tp.

Definition at line 1763 of file field_vd.cc.

References _base_space, _coordinates, _property, sheaf::abstract_poset_member::attach_to_state(), base_space(), coordinates(), invariant(), property(), state_is_read_accessible(), and state_is_read_write_accessible().

Referenced by clone(), fields::field_at0::operator=(), fields::field_met::operator=(), fields::field_tp::operator=(), fields::field_t4_e3::operator=(), fields::field_t4_e2::operator=(), fields::field_t4::operator=(), fields::field_t3_e3::operator=(), fields::field_t3::operator=(), fields::field_t2_e3::operator=(), fields::field_t2_e2::operator=(), fields::field_t2::operator=(), fields::field_stp::operator=(), fields::field_st4_e3::operator=(), fields::field_st4_e2::operator=(), fields::field_at2_e2::operator=(), fields::field_st3_e3::operator=(), fields::field_st3::operator=(), fields::field_st2_e3::operator=(), fields::field_st2_e2::operator=(), fields::field_st2::operator=(), fields::field_met_ed::operator=(), fields::field_met_e3::operator=(), fields::field_met_e2::operator=(), fields::field_met_e1::operator=(), fields::field_e2::operator=(), fields::field_jcb_ed::operator=(), fields::field_jcb_e33::operator=(), fields::field_jcb_e23::operator=(), fields::field_jcb_e13::operator=(), fields::field_jcb::operator=(), fields::field_atp::operator=(), fields::field_e4::operator=(), fields::field_e3_uniform::operator=(), fields::field_e3::operator=(), fields::field_e2_uniform::operator=(), fields::field_at2_e3::operator=(), fields::field_e1_uniform::operator=(), fields::field_e1::operator=(), fields::field_ed::operator=(), fields::field_at3_e3::operator=(), fields::field_at3::operator=(), fields::field_at1::operator=(), fields::field_st4::operator=(), fields::field_at2::operator=(), and operator=().

◆ operator=() [2/4]

fields::field_vd & fields::field_vd::operator= ( const sec_vd xsection)

Assignment operator.

Precondition
  • xsection.state_is_read_accessible()

Definition at line 1791 of file field_vd.cc.

References operator=(), property(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and state_is_read_write_accessible().

◆ operator=() [3/4]

fields::field_vd & fields::field_vd::operator= ( const vd xfiber)

Assignment operator.

Precondition
  • xfiber.state_is_read_accessible()

Definition at line 1815 of file field_vd.cc.

References operator=(), property(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and state_is_read_write_accessible().

◆ operator=() [4/4]

fields::field_vd & fields::field_vd::operator= ( const vd_lite xfiber)

Assignment operator.

Precondition

Definition at line 1839 of file field_vd.cc.

References invariant(), property(), and state_is_read_write_accessible().

◆ print_property_dofs()

void fields::field_vd::print_property_dofs ( std::ostream &  xos,
property_dof_function_type  xproperty_dofs_fcn,
const std::string &  xtitle_text,
bool  xzero_specified,
bool  xauto_access 
) const

Prints the property dofs and coordinates at the property discretization points. If xproperty_dof_fcn != 0, prints the result of xproperty_dofs_fcn at each discretization point and the difference with the actual property dofs. If xzero_specified, assume the result of xproperty_dofs_fcn is zero wherever property is zero. Intended to be useful for debugging.

Precondition
Postcondition

Definition at line 723 of file field_vd.cc.

References access_request_depth(), coordinates(), get_read_access(), is_attached(), sheaf::abstract_poset_member::name(), property(), fields::discretization_pusher::push(), release_access(), same_property_fiber_schema(), and state_is_read_accessible().

Referenced by fields::operator<<(), and put_property_dofs().

◆ property()

fiber_bundle::sec_vd & fields::field_vd::property ( ) const

The dependent variable of this field.

Definition at line 357 of file field_vd.cc.

References _property, and base_space().

Referenced by fields::field_vd_algebra::add(), fields::body_builder::build_pa(), fields::field_vd_algebra::contract(), coordinates(), delete_field_spaces(), fields::field_factory::delete_field_spaces(), fields::field_vd_algebra::divide(), embed_property(), fields::field_eval_iterator::field_eval_iterator(), fields::field_refinement_buffer::field_refinement_buffer(), field_vd(), fields::field_refinement_buffer::gather_property_dofs(), fields::property_disc_iterator::initialize_iteration(), invariant(), is_attached(), fields::field_vd_algebra::multiply(), new_property_disc_iterator(), operator=(), print_property_dofs(), property_at_coordinates(), fields::property_disc_iterator_1_1::property_disc_iterator_1_1(), fields::property_disc_iterator_1_2::property_disc_iterator_1_2(), fields::property_disc_iterator_1_3::property_disc_iterator_1_3(), fields::property_disc_iterator_4_2::property_disc_iterator_4_2(), fields::property_disc_iterator_4_3::property_disc_iterator_4_3(), fields::refining_section_pusher::push(), fields::push(), fields::field_refinement_buffer::push_prop_dofs(), put_property_dofs(), fields::field_refiner::refine(), fields::field_refinement_buffer::refine_prop_dofs(), fields::field_refinement_buffer::reserve_prop_fiber(), same_discretization(), same_evaluation(), same_property_fiber_schema(), fields::section_pusher::section_pusher(), state_is_modified(), state_is_not_read_accessible(), state_is_not_read_only_accessible(), state_is_not_read_write_accessible(), state_is_read_accessible(), state_is_read_only_accessible(), state_is_read_write_accessible(), and fields::field_vd_algebra::subtract().

◆ property_at_coordinates() [1/3]

void fields::field_vd::property_at_coordinates ( const vd_lite xcoord,
vd_lite xprop 
) const

◆ property_at_coordinates() [2/3]

void fields::field_vd::property_at_coordinates ( const block< sec_vd_value_type > &  xcoord,
block< sec_vd_value_type > &  xprop 
) const

◆ property_at_coordinates() [3/3]

void fields::field_vd::property_at_coordinates ( sec_vd_value_type  xcoord_base[],
int  xcoord_ct,
sec_vd_value_type  xprop_base[],
int  xprop_ub 
) const

◆ property_dof_function_example()

void fields::field_vd::property_dof_function_example ( block< sec_vd_value_type > &  xglobal_coords,
block< sec_vd_dof_type > &  xproperty_dofs 
)
static

Example property dof function; property value is x*1000000 + y*1000 + z, intended to be easy to check field dofs for correctness.

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

Definition at line 417 of file field_vd.cc.

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

Referenced by new_property_disc_iterator().

◆ put_property_dofs() [1/4]

◆ put_property_dofs() [2/4]

void fields::field_vd::put_property_dofs ( const sec_vd xcoordinates,
sec_vd xproperty,
property_dof_function_type  xproperty_dofs_fcn,
bool  xauto_access 
)
static

Sets the dofs of xproperty to values computed by xproperty_dofs_fcn using xcoordinates to compute the coordinates at the discretization points.

Precondition
  • xcoordinates.is_attached()
  • xauto_access || xcoordinates.state_is_read_accessible()
  • xproperty.is_attached()
  • xauto_access || xproperty.state_is_read_write_accessible()
  • xdof_fcn != 0
Issue:
Have to transfer context values array to block. because context has array and dof function wants block.
Postcondition
  • xcoordinates.access_request_depth() == old_coordinates_access_request_depth
  • xproperty.access_request_depth() == old_property_access_request_depth

Definition at line 490 of file field_vd.cc.

References sheaf::read_write_monitor_handle::access_request_depth(), sheaf::auto_block< T, S >::base(), sheaf::auto_block< T, S >::ct(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), fiber_bundle::section_space_schema_member::df(), fiber_bundle::discretization_context::disc_id, fields::property_disc_iterator::get_prop_disc_values(), sheaf::poset_component::get_read_access(), sheaf::poset_component::get_read_write_access(), sheaf::poset_component::is_attached(), sheaf::depth_first_iterator::is_done(), fields::property_disc_iterator::new_property_disc_iterator(), sheaf::depth_first_iterator::next(), fields::property_disc_iterator::property_discretization_members(), fiber_bundle::sec_vd::put_fiber(), put_property_dofs(), sheaf::poset_component::release_access(), fiber_bundle::sec_rep_space_member::schema(), sheaf::auto_block< T, S >::set_ct(), sheaf::read_write_monitor_handle::state_is_read_accessible(), sheaf::read_write_monitor_handle::state_is_read_write_accessible(), and fiber_bundle::discretization_context::values.

◆ put_property_dofs() [3/4]

void fields::field_vd::put_property_dofs ( put_property_dofs_action xproperty_dofs_action,
bool  xauto_access 
)

OBSOLETE: Use put_proeprty_dofs(property_dof_function_type, bool). Sets the dofs of property() to values computed by xproperty_dofs_action.

Precondition
  • xproperty_dofs_action.property().is_same_state(&(property()))
Postcondition

Definition at line 589 of file field_vd.cc.

References access_request_depth(), coordinates(), get_read_write_access(), is_attached(), sheaf::poset_component::is_same_state(), fields::put_property_dofs_action::property(), property(), fields::discretization_pusher::push(), put_property_dofs(), release_access(), and state_is_read_write_accessible().

◆ put_property_dofs() [4/4]

void fields::field_vd::put_property_dofs ( const sec_vd xcoordinates,
sec_vd xproperty,
put_property_dofs_action xproperty_dofs_action,
bool  xauto_access 
)
static

Sets the dofs of xproperty to values computed by xproperty_dofs_fcn using xcoordinates to compute the coordinates at the discretization points.

Precondition
  • xcoordinates.is_attached()
  • xauto_access || xcoordinates.state_is_read_accessible()
  • xproperty.is_attached()
  • xauto_access || xproperty.state_is_read_write_accessible()
Issue:
Have to transfer context values array to block. because context has array and dof function wants block.
Postcondition
  • xcoordinates.access_request_depth() == old_coordinates_access_request_depth
  • xproperty.access_request_depth() == old_property_access_request_depth

Definition at line 629 of file field_vd.cc.

References sheaf::read_write_monitor_handle::access_request_depth(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), fiber_bundle::section_space_schema_member::df(), fiber_bundle::discretization_context::disc_id, fields::property_disc_iterator::get_prop_disc_values(), sheaf::poset_component::get_read_access(), sheaf::poset_component::get_read_write_access(), sheaf::poset_component::is_attached(), sheaf::depth_first_iterator::is_done(), fields::property_disc_iterator::new_property_disc_iterator(), sheaf::depth_first_iterator::next(), print_property_dofs(), fields::property_disc_iterator::property_discretization_members(), sheaf::poset_component::release_access(), fiber_bundle::sec_rep_space_member::schema(), sheaf::auto_block< T, S >::set_ct(), sheaf::read_write_monitor_handle::state_is_read_accessible(), sheaf::read_write_monitor_handle::state_is_read_write_accessible(), and fiber_bundle::discretization_context::values.

◆ release_access()

void fields::field_vd::release_access ( bool  xall = false) const
virtual

Release access. If xall is true, release all levels of access. Otherwise, release one level of access.

Precondition
Postcondition

Definition at line 1594 of file field_vd.cc.

References _base_space, _coordinates, _property, access_control_disabled(), access_request_depth(), sheaf::poset_component::release_access(), state_is_modified(), and state_is_read_accessible().

Referenced by delete_field_spaces(), fields::field_factory::delete_field_spaces(), embed_property(), get_read_write_access(), fields::body_factory::new_3d_uniform_bodies(), print_property_dofs(), fields::refining_section_pusher::push(), fields::push(), put_property_dofs(), fields::field_refiner::refine(), fields::field_tp::same_property_fiber_schema(), fields::field_t4_e3::same_property_fiber_schema(), fields::field_t4_e2::same_property_fiber_schema(), fields::field_t4::same_property_fiber_schema(), fields::field_t3_e3::same_property_fiber_schema(), fields::field_t3::same_property_fiber_schema(), fields::field_t2_e3::same_property_fiber_schema(), fields::field_t2_e2::same_property_fiber_schema(), fields::field_t2::same_property_fiber_schema(), fields::field_stp::same_property_fiber_schema(), fields::field_st4_e3::same_property_fiber_schema(), fields::field_st4_e2::same_property_fiber_schema(), fields::field_st4::same_property_fiber_schema(), fields::field_st3_e3::same_property_fiber_schema(), fields::field_st3::same_property_fiber_schema(), fields::field_st2_e3::same_property_fiber_schema(), fields::field_st2_e2::same_property_fiber_schema(), fields::field_st2::same_property_fiber_schema(), fields::field_e3::same_property_fiber_schema(), fields::field_met_ed::same_property_fiber_schema(), fields::field_met_e3::same_property_fiber_schema(), fields::field_e2_uniform::same_property_fiber_schema(), fields::field_met_e1::same_property_fiber_schema(), fields::field_at0::same_property_fiber_schema(), fields::field_jcb_ed::same_property_fiber_schema(), fields::field_jcb_e33::same_property_fiber_schema(), fields::field_jcb_e23::same_property_fiber_schema(), fields::field_jcb_e13::same_property_fiber_schema(), fields::field_jcb::same_property_fiber_schema(), fields::field_atp::same_property_fiber_schema(), fields::field_at3_e3::same_property_fiber_schema(), fields::field_e4::same_property_fiber_schema(), fields::field_e3_uniform::same_property_fiber_schema(), fields::field_at3::same_property_fiber_schema(), fields::field_met_e2::same_property_fiber_schema(), fields::field_met::same_property_fiber_schema(), fields::field_e1_uniform::same_property_fiber_schema(), fields::field_e1::same_property_fiber_schema(), fields::field_ed::same_property_fiber_schema(), fields::field_at2::same_property_fiber_schema(), fields::field_at1::same_property_fiber_schema(), fields::field_at2_e3::same_property_fiber_schema(), fields::field_at2_e2::same_property_fiber_schema(), fields::field_e2::same_property_fiber_schema(), same_property_fiber_schema(), and fields::section_pusher::section_pusher().

◆ same_discretization()

bool fields::field_vd::same_discretization ( ) const

◆ same_evaluation()

◆ same_property_fiber_schema()

bool fields::field_vd::same_property_fiber_schema ( const field_vd xother,
bool  xauto_access 
) const

◆ state_is_modified()

bool fields::field_vd::state_is_modified ( ) const

True if write access has been granted and released since the last call to clear_state_is_modified().

Precondition
Postcondition

Definition at line 1625 of file field_vd.cc.

References _coordinates, _property, clear_state_is_modified(), coordinates(), is_attached(), property(), and sheaf::read_write_monitor_handle::state_is_modified().

Referenced by clear_state_is_modified(), and release_access().

◆ state_is_not_read_accessible()

◆ state_is_not_read_only_accessible()

bool fields::field_vd::state_is_not_read_only_accessible ( ) const

True if this is attached and if the coordinates and property are not accessible for read only access or access control is disabled.

Postcondition
  • !is_attached() ? !result : true

Definition at line 1356 of file field_vd.cc.

References access_control_disabled(), coordinates(), is_attached(), property(), sheaf::read_write_monitor_handle::state_is_not_read_only_accessible(), and state_is_read_accessible().

Referenced by get_read_write_access(), and state_is_read_only_accessible().

◆ state_is_not_read_write_accessible()

bool fields::field_vd::state_is_not_read_write_accessible ( bool  xbase_access = false) const

◆ state_is_read_accessible()

bool fields::field_vd::state_is_read_accessible ( ) const

True if this is attached and if the coordinates and property are accessible for read or access control is disabled.

Postcondition
  • !is_attached() ? !result : true

Definition at line 1380 of file field_vd.cc.

References _coordinates, _property, access_control_disabled(), coordinates(), is_attached(), property(), state_is_not_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by fields::body_builder::build(), fields::body_builder::build_pa(), db(), dc(), dp(), fields::field_refinement_buffer::evaluate_source_at_disc(), fields::field_eval_iterator::field_eval_iterator(), fields::field_refinement_buffer::field_refinement_buffer(), fields::field_refinement_buffer::gather_coordinate_dofs(), fields::field_refinement_buffer::gather_property_dofs(), get_read_access(), fields::property_disc_iterator::initialize_iteration(), fields::field_at3::invariant(), fields::field_e3_uniform::invariant(), fields::field_st2::invariant(), fields::field_st2_e2::invariant(), fields::field_e4::invariant(), fields::field_st2_e3::invariant(), fields::field_st3::invariant(), fields::field_at1::invariant(), fields::field_at3_e3::invariant(), fields::field_st3_e3::invariant(), fields::field_ed::invariant(), fields::field_st4::invariant(), fields::field_jcb::invariant(), fields::field_st4_e2::invariant(), fields::field_st4_e3::invariant(), fields::field_at0::invariant(), fields::field_at2::invariant(), fields::field_atp::invariant(), fields::field_stp::invariant(), fields::field_jcb_e13::invariant(), fields::field_t2::invariant(), fields::field_jcb_e23::invariant(), fields::field_t2_e2::invariant(), fields::field_t2_e3::invariant(), fields::field_e1::invariant(), fields::field_jcb_e33::invariant(), fields::field_t3::invariant(), fields::field_t3_e3::invariant(), fields::field_jcb_ed::invariant(), fields::field_t4::invariant(), fields::field_t4_e2::invariant(), fields::field_met::invariant(), fields::field_t4_e3::invariant(), fields::field_tp::invariant(), fields::field_e1_uniform::invariant(), fields::field_met_e1::invariant(), fields::field_met_e2::invariant(), fields::field_e2::invariant(), fields::field_met_e3::invariant(), fields::field_at2_e2::invariant(), fields::field_met_ed::invariant(), fields::field_at2_e3::invariant(), fields::field_e2_uniform::invariant(), fields::field_e3::invariant(), invariant(), new_property_disc_iterator(), fields::operator<<(), operator=(), print_property_dofs(), property_at_coordinates(), fields::property_disc_iterator_1_1::property_disc_iterator_1_1(), fields::property_disc_iterator_1_2::property_disc_iterator_1_2(), fields::property_disc_iterator_1_3::property_disc_iterator_1_3(), fields::property_disc_iterator_4_2::property_disc_iterator_4_2(), fields::property_disc_iterator_4_3::property_disc_iterator_4_3(), fields::refining_section_pusher::push(), fields::push(), release_access(), same_discretization(), same_evaluation(), fields::field_st4_e3::same_property_fiber_schema(), fields::field_st4::same_property_fiber_schema(), fields::field_st2::same_property_fiber_schema(), fields::field_at0::same_property_fiber_schema(), fields::field_t2_e3::same_property_fiber_schema(), fields::field_e1::same_property_fiber_schema(), fields::field_jcb_e33::same_property_fiber_schema(), fields::field_t3_e3::same_property_fiber_schema(), fields::field_jcb_ed::same_property_fiber_schema(), fields::field_t4_e2::same_property_fiber_schema(), fields::field_t4_e3::same_property_fiber_schema(), fields::field_jcb_e13::same_property_fiber_schema(), fields::field_atp::same_property_fiber_schema(), fields::field_e2::same_property_fiber_schema(), fields::field_met_e2::same_property_fiber_schema(), fields::field_at2_e3::same_property_fiber_schema(), fields::field_t2::same_property_fiber_schema(), fields::field_e2_uniform::same_property_fiber_schema(), fields::field_at3_e3::same_property_fiber_schema(), fields::field_met_e3::same_property_fiber_schema(), fields::field_e3_uniform::same_property_fiber_schema(), fields::field_e3::same_property_fiber_schema(), fields::field_at2::same_property_fiber_schema(), fields::field_met::same_property_fiber_schema(), fields::field_st4_e2::same_property_fiber_schema(), fields::field_e4::same_property_fiber_schema(), fields::field_stp::same_property_fiber_schema(), fields::field_at1::same_property_fiber_schema(), fields::field_jcb_e23::same_property_fiber_schema(), fields::field_t3::same_property_fiber_schema(), fields::field_t4::same_property_fiber_schema(), fields::field_tp::same_property_fiber_schema(), fields::field_at3::same_property_fiber_schema(), fields::field_met_e1::same_property_fiber_schema(), fields::field_at2_e2::same_property_fiber_schema(), fields::field_e1_uniform::same_property_fiber_schema(), fields::field_ed::same_property_fiber_schema(), fields::field_st3::same_property_fiber_schema(), fields::field_st2_e2::same_property_fiber_schema(), fields::field_met_ed::same_property_fiber_schema(), fields::field_t2_e2::same_property_fiber_schema(), fields::field_jcb::same_property_fiber_schema(), fields::field_st2_e3::same_property_fiber_schema(), fields::field_st3_e3::same_property_fiber_schema(), same_property_fiber_schema(), fields::section_pusher::section_pusher(), fields::field_refinement_policy::should_refine(), fields::depth_bound_refinement_policy::should_refine(), fields::zone_centered_error_bound_refinement_policy::should_refine(), and state_is_not_read_only_accessible().

◆ state_is_read_only_accessible()

bool fields::field_vd::state_is_read_only_accessible ( ) const

True if this is attached and if the coordinates and property are accessible for read access but not for write. False is access control is disabled.

Postcondition
  • !is_attached() ? !result : true

Definition at line 1333 of file field_vd.cc.

References access_control_disabled(), coordinates(), is_attached(), property(), state_is_not_read_only_accessible(), and sheaf::read_write_monitor_handle::state_is_read_only_accessible().

Referenced by is_attached().

◆ state_is_read_write_accessible()

bool fields::field_vd::state_is_read_write_accessible ( bool  xbase_access = false) const

◆ static_class_name()

const std::string & fields::field_vd::static_class_name ( )
static

The name of this class.

Postcondition
  • !result.empty()

Definition at line 1699 of file field_vd.cc.

References is_ancestor_of().

Referenced by class_name().

Member Data Documentation

◆ _base_space

base_space_member* fields::field_vd::_base_space
protected

The base space of this field.

Definition at line 299 of file field_vd.h.

Referenced by base_space(), fields::field_at0::field_at0(), fields::field_at1::field_at1(), fields::field_at2::field_at2(), fields::field_at2_e2::field_at2_e2(), fields::field_at2_e3::field_at2_e3(), fields::field_at3::field_at3(), fields::field_at3_e3::field_at3_e3(), fields::field_atp::field_atp(), fields::field_e1::field_e1(), fields::field_e1_uniform::field_e1_uniform(), fields::field_e2::field_e2(), fields::field_e2_uniform::field_e2_uniform(), fields::field_e3::field_e3(), fields::field_e3_uniform::field_e3_uniform(), fields::field_e4::field_e4(), fields::field_ed::field_ed(), fields::field_jcb::field_jcb(), fields::field_jcb_e13::field_jcb_e13(), fields::field_jcb_e23::field_jcb_e23(), fields::field_jcb_e33::field_jcb_e33(), fields::field_jcb_ed::field_jcb_ed(), fields::field_met::field_met(), fields::field_met_e1::field_met_e1(), fields::field_met_e2::field_met_e2(), fields::field_met_e3::field_met_e3(), fields::field_met_ed::field_met_ed(), fields::field_st2::field_st2(), fields::field_st2_e2::field_st2_e2(), fields::field_st2_e3::field_st2_e3(), fields::field_st3::field_st3(), fields::field_st3_e3::field_st3_e3(), fields::field_st4::field_st4(), fields::field_st4_e2::field_st4_e2(), fields::field_st4_e3::field_st4_e3(), fields::field_stp::field_stp(), fields::field_t2::field_t2(), fields::field_t2_e2::field_t2_e2(), fields::field_t2_e3::field_t2_e3(), fields::field_t3::field_t3(), fields::field_t3_e3::field_t3_e3(), fields::field_t4::field_t4(), fields::field_t4_e2::field_t4_e2(), fields::field_t4_e3::field_t4_e3(), fields::field_tp::field_tp(), field_vd(), get_read_access(), get_read_write_access(), name_space(), operator=(), release_access(), state_is_not_read_write_accessible(), state_is_read_write_accessible(), and ~field_vd().

◆ _coordinates

sec_ed_invertible* fields::field_vd::_coordinates
protected

The independent variable of this field.

Definition at line 294 of file field_vd.h.

Referenced by access_request_depth(), clear_state_is_modified(), coordinates(), dc(), fields::field_at0::field_at0(), fields::field_at1::field_at1(), fields::field_at2::field_at2(), fields::field_at2_e2::field_at2_e2(), fields::field_at2_e3::field_at2_e3(), fields::field_at3::field_at3(), fields::field_at3_e3::field_at3_e3(), fields::field_atp::field_atp(), fields::field_e1::field_e1(), fields::field_e1_uniform::field_e1_uniform(), fields::field_e2::field_e2(), fields::field_e2_uniform::field_e2_uniform(), fields::field_e3::field_e3(), fields::field_e3_uniform::field_e3_uniform(), fields::field_e4::field_e4(), fields::field_ed::field_ed(), fields::field_jcb::field_jcb(), fields::field_jcb_e13::field_jcb_e13(), fields::field_jcb_e23::field_jcb_e23(), fields::field_jcb_e33::field_jcb_e33(), fields::field_jcb_ed::field_jcb_ed(), fields::field_met::field_met(), fields::field_met_e1::field_met_e1(), fields::field_met_e2::field_met_e2(), fields::field_met_e3::field_met_e3(), fields::field_met_ed::field_met_ed(), fields::field_st2::field_st2(), fields::field_st2_e2::field_st2_e2(), fields::field_st2_e3::field_st2_e3(), fields::field_st3::field_st3(), fields::field_st3_e3::field_st3_e3(), fields::field_st4::field_st4(), fields::field_st4_e2::field_st4_e2(), fields::field_st4_e3::field_st4_e3(), fields::field_stp::field_stp(), fields::field_t2::field_t2(), fields::field_t2_e2::field_t2_e2(), fields::field_t2_e3::field_t2_e3(), fields::field_t3::field_t3(), fields::field_t3_e3::field_t3_e3(), fields::field_t4::field_t4(), fields::field_t4_e2::field_t4_e2(), fields::field_t4_e3::field_t4_e3(), fields::field_tp::field_tp(), field_vd(), get_read_access(), get_read_write_access(), is_attached(), operator=(), put_property_dofs(), release_access(), state_is_modified(), state_is_not_read_accessible(), state_is_not_read_write_accessible(), state_is_read_accessible(), state_is_read_write_accessible(), and ~field_vd().

◆ _property

sec_vd* fields::field_vd::_property
protected

The dependent variable of this field.

Hack:
_coordinates and _property are pointers rather than values in order to make the accessor functions above const without fixing the constness of the entire sheaves and fiber bundles components.

Definition at line 289 of file field_vd.h.

Referenced by access_request_depth(), clear_state_is_modified(), db(), dp(), embed_property(), fields::field_at0::field_at0(), fields::field_at1::field_at1(), fields::field_at2::field_at2(), fields::field_at2_e2::field_at2_e2(), fields::field_at2_e3::field_at2_e3(), fields::field_at3::field_at3(), fields::field_at3_e3::field_at3_e3(), fields::field_atp::field_atp(), fields::field_e1::field_e1(), fields::field_e1_uniform::field_e1_uniform(), fields::field_e2::field_e2(), fields::field_e2_uniform::field_e2_uniform(), fields::field_e3::field_e3(), fields::field_e3_uniform::field_e3_uniform(), fields::field_e4::field_e4(), fields::field_ed::field_ed(), fields::field_jcb::field_jcb(), fields::field_jcb_e13::field_jcb_e13(), fields::field_jcb_e23::field_jcb_e23(), fields::field_jcb_e33::field_jcb_e33(), fields::field_jcb_ed::field_jcb_ed(), fields::field_met::field_met(), fields::field_met_e1::field_met_e1(), fields::field_met_e2::field_met_e2(), fields::field_met_e3::field_met_e3(), fields::field_met_ed::field_met_ed(), fields::field_st2::field_st2(), fields::field_st2_e2::field_st2_e2(), fields::field_st2_e3::field_st2_e3(), fields::field_st3::field_st3(), fields::field_st3_e3::field_st3_e3(), fields::field_st4::field_st4(), fields::field_st4_e2::field_st4_e2(), fields::field_st4_e3::field_st4_e3(), fields::field_stp::field_stp(), fields::field_t2::field_t2(), fields::field_t2_e2::field_t2_e2(), fields::field_t2_e3::field_t2_e3(), fields::field_t3::field_t3(), fields::field_t3_e3::field_t3_e3(), fields::field_t4::field_t4(), fields::field_t4_e2::field_t4_e2(), fields::field_t4_e3::field_t4_e3(), fields::field_tp::field_tp(), field_vd(), get_read_access(), get_read_write_access(), is_attached(), operator=(), property(), put_property_dofs(), release_access(), state_is_modified(), state_is_not_read_accessible(), state_is_not_read_write_accessible(), state_is_read_accessible(), state_is_read_write_accessible(), and ~field_vd().


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